好看的html5页面:请帮帮忙看看这个C程序错哪里?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 17:58:32
这个程序为什么在算SQRT这一步时出错啊,算出来是个负值?

#include <math.h>
double cn(int n)
{
int i;
float sum=0;
for(i=1;i<n;i++)
if(i%3==0&&i%7==0)
sum=sum+i;
sum=sqrt(sum);
return sum;
}
main()
{
clrscr();
printf(" %f\n",cn(30));
}

#include "math.h"
#include "stdio.h"
double cn(int n)
{
int i;
float sum=0;
for(i=1;i<n;i++)
if(i%3==0&&i%7==0)
sum=sum+i;
sum=sqrt(sum);
return sum;
}
main()
{
//clrscr(); //不知道你这个是拿来做什么用的 ,注释掉了
printf(" %f\n",cn(30));

}

#include <math.h> //调用数学函数头文件
double cn(int n)
{
int i;
float sum=0;
for(i=1;i<n;i++)
if(i%3==0&&i%7==0)
sum=sum+i;
sum=sqrt(sum); //求开方
return sum;
}
main()
{
clrscr();
printf(" %f\n",cn(30));
}
掉了头文件

答案是:4.582576
我运行了没错。

编译器错了

#include <math.h>
double cn(int n)
{
int i;
float sum=0;
for(i=1;i<n;i++)
{if(i%3==0&&i%7==0)
sum=sum+i;
sum=sqrt(sum);} /* 每一个函数都要界定清楚*/
return sum;
} ;
main()
{
clrscr();
printf(" %f\n",cn(30));
}

这不就是求21的根么,搞的真是麻。。