| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:有几道能执行但执行结果不对的题目。
只看楼主 加入收藏
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
有几道能执行但执行结果不对的题目。
这几个代码都能执行,但不知道为什么执行的结果却另人匪夷所思,应该是内存读写错了吧,我猜想是不是函数结束的时候所有定义的数的空间都被释放了,所以无法返回正确的值?那这国家二级机试考试也太……无语了……代码如下:

(这是求所有2到100素数的和的代码:)搞错了,实在不好意思,因为问题积累的原因,一眼扫了过去,以为是2到100素数和,题目不是这样的。
原题目我找到了,是这样的:计算并输出high最大的10个素数之和。我的错……我的错……
程序代码:
# include <stdio.h>
# include <math.h>

int fun(int high)
{
    int sum=0, i, n=0, yes;

    while ((high>=2) && (n<=10))
    {
        yes = 1;
        for (i=0; i<high/2; i++)
            if(high%i == 0)
            {
                yes=0;
                break;
            }
        if(yes)
        {
            sum += high;
            n++;
        }
        high--;
    }
    return sum;
}

int main(void)
{
    int high, sum;

    printf("请输入high的值:");
    scanf("%d", &high);

    sum = fun(high);

    printf("%d", sum);

    return 0;
}


计算一个通项式的累加和:
程序代码:
# include <stdio.h>
# include <math.h>

double fun(double x, int n)
{
    double sum=1, t=-1.0;
    int i;

    for (i=0; i<n; i++)
    {
        t *= (-1)*x/i;
        sum += t;
    }
    return sum;
}

int main(void)
{
    double x, sum;
    int n;

    printf("请输入x和n的值\n");
    printf("x = ");
    scanf("%lf", &x);
    printf("n = ");
    scanf("%d", &n);

    sum=fun(x, n);

    printf("结果是:%lf\n", sum);

    return 0;
}


求一个排列组合数:
程序代码:
# include <stdio.h>

int fun(void)
{
    int i, j, k, sum=0;
   
    for (i=1; i<4; i++)
    {
        for (j=1; i<6; j++)
        {
            k = 8-i-j;
            if((k>=0) && (k<=6))
            {
                printf("红球:%d\n", i);
                printf("白球: %d\n", j);
                printf("黑球:%d\n", k);
                printf("\n");
            }
            sum++;
        }
    }
    return sum;        //返回的时候是不是sum的内存空间被释放所以赋值不了?
}

int main(void)
{
    int sum;

    sum = fun();
    printf("总共的组合数为:%d", sum);

    return 0;
}



[ 本帖最后由 ai8343512 于 2011-8-28 15:40 编辑 ]
搜索更多相关主题的帖子: color 最大的 国家 color 最大的 
2011-08-28 14:56
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
# include <stdio.h>
# include <math.h>

int fun(int high)
{
  int i,j = 0;
  int sum=0;
        for(i=2;i<=high;i++)
        {
            for(j=2;j<i;j++)
            {
            if(i%j==0)
            break;
            }
            if(j==i)
            sum=sum+i;
        }
    return sum;
}

int main(void)
{
    int high, sum;

    printf("请输入high的值:");
    scanf("%d", &high);

    sum = fun(high);

    printf("%d", sum);

    return 0;
}

Discuz!  
好好学习  天天向上
2011-08-28 15:02
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:5 
第二题请你说清楚点,没理解题意

Discuz!  
好好学习  天天向上
2011-08-28 15:04
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
收藏
得分:0 
回复 3楼 qq8801103
第二题题目就是计算一个这样的公式:1+x-x^2/2!+x^3/3!-x^4/4!+……(-1)^(n-1)*x^n/n!=?

思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-28 15:14
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:15 
第一题既然求的是从2到100的素数  请问high是干什么的

第二题很明显 除0了

第三题是楼主写错了吧for (j=1; i<6; j++)应该是for (j=1; j<6; j++)
收到的鲜花
  • ai83435122011-08-28 16:26 送鲜花  5朵   附言:善于发现细节问题

                                         
===========深入<----------------->浅出============
2011-08-28 15:15
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
收藏
得分:0 
回复 5楼 laoyang103
第一道题实在不好意思,我看错了下,现在吧题目改回来了……

思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-28 15:34
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
收藏
得分:0 
不问不知道,一问吓一跳啊……我怎么就错在一些这样的问题上……快没脸见人了……下次问你们之前还要细细核对下思路和内容是否没有细节错误才敢发啊……
第二三题解决了,都是错在一些很细节方面的问题,我知道错了。
但第一题……我已经把i=0换成i=2,在if语句后面加了个high--,可输出结果又错了……
按照道理输入10应该输出17,可它输出21???为什么????

思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-28 16:15
快速回复:有几道能执行但执行结果不对的题目。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016743 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved