| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 647 人关注过本帖
标题:C自己编的一个程序。千丝万缕不知道错在哪儿?求大家帮助!
取消只看楼主 加入收藏
方一鸣
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2011-8-31
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:3 
C自己编的一个程序。千丝万缕不知道错在哪儿?求大家帮助!
3.程序设计题
请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。
例如,若主函数从键盘给m输入50后,则输出为s=63.665791。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
#include <math.h>
#include <stdio.h>
double fun(int m)
{

}
main()
{
 int m;
 double s;
 FILE *out;
 printf("\n\nInput m:  ");
 scanf("%d",&m);
 s=fun(m);
 printf("\n\ns=%f\n\n",s);
 out=fopen("outfile.dat","w");
 for(m=0;m<10;m++)
 fprintf(out,"%f\n",fun(m+80));
 fclose(out);
}

我的结果是:

#include <math.h>
#include <stdio.h>
double fun(int m)
{
    int i,j,k=0;
    int *a;
    float *b;
    float s=0.0;
   
    for(i=3;i<=m;i++)
    {
    for(j=2;j<=i;j++)
    {
    if(i%j==0)
        break;
    if(j>=i)
        a[k++]=i;
    }
    }
    for(i=0;i<k;i++)
        a[i]=sqrt(b[i]);
    for(i=0;i<k;i++)
        s=s+b[i];
    return s;

}
main()
{
 int m;
 double s;
 FILE *out;
 printf("\n\nInput m:  ");
 scanf("%d",&m);
 s=fun(m);
 printf("\n\ns=%f\n\n",s);
 out=fopen("outfile.dat","w");
 for(m=0;m<10;m++)
 fprintf(out,"%f\n",fun(m+80));
 fclose(out);
}

请问我错在那儿了呢?
搜索更多相关主题的帖子: 程序设计 include double 平方根 
2011-09-07 22:53
方一鸣
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2011-8-31
收藏
得分:0 
int i;
    float k,s=0.0;

    for(i=3;i<=m;i++)
        k=sqrt(i);
    for(i=2;i<=k;i++)
    {    if(m%i==0)
            break;
        if(i>=k+1)
            s+=sqrt(i);
    }
        return s;
2011-09-07 23:02
方一鸣
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2011-8-31
收藏
得分:0 
貌似我编了两个错误的  致命打击呀
2011-09-07 23:03
方一鸣
Rank: 2
等 级:论坛游民
帖 子:74
专家分:13
注 册:2011-8-31
收藏
得分:0 
o
2011-09-08 19:01
快速回复:C自己编的一个程序。千丝万缕不知道错在哪儿?求大家帮助!
数据加载中...
 
   



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

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