| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1249 人关注过本帖
标题:调用函数的困惑?请帮忙看一下。
取消只看楼主 加入收藏
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:1 
调用函数的困惑?请帮忙看一下。
要求是输入m和n,求出它们之间的素数,统计素数的个数,并且求出素数的和。
我写的程序如下:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int m,n,i,count,sum,result;
    int prime(int i);
    printf("Enter m,n:");
    scanf("%d,%d",&m,&n);
    result=prime(i);
    printf("%d,%d\n",&count,&sum);
    return 0;
}
int prime(int i)
{
    int m,n,count,sum,j,k,item;
    count=0;sum=0;
    for(i=m;i<=n;i++){
        k=sqrt(i);
        for(j=2;j<=k;j++)
        if(i%j==0) break;
        if(j>k)
        count++;
        item=i;sum=sum+item;
    }
    return count;
    return sum;
}
红色的地方是我不明白的地方。
1.我最后的结果是要输出conunt和sum,但是调用函数的语句我不知道如何写,只好写成了result=prime(i)
2.最后判断i为素数后,每循环一次,统计一次,并求出相应的和,被调用的函数的值如何返回,使得最后输出count和sum。
是我写的那样吗?
3,我编译可以通过,运行之后,无论m和n输入什么样的数,最后的结果总是1245040,1245036。不知道循环哪个地方出了问题?
搜索更多相关主题的帖子: 困惑 函数 
2009-11-11 20:51
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
收藏
得分:0 
回复 2楼 lijm1989
我把程序改成这样了:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int m,n,i,sum,item,count;
    int prime(int i);
    count=0;sum=0;
    printf("Enter m,n:");
    scanf("%d,%d",&m,&n);
    for(i=m;i<=n;i++){
        if(prime(i)==1)
        {
            count++;
            item=i;sum=sum+item;
        }
    }
    printf("%d,%d",count,sum);
    return 0;
}
int prime(int i)
{
    int j,flag;
    for(j=2;j<=sqrt(i);j++){
        if(i%j==0) break;
        if(j>sqrt(i))
        flag=1;
        else
        flag=0;
    }
    return flag;
}
2009-11-12 14:54
快速回复:调用函数的困惑?请帮忙看一下。
数据加载中...
 
   



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

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