为什么程序正确的c语言运行的时候,计算答案错误

2025-06-27 20:18:48
推荐回答(6个)
回答1:

#include
#include

void main()
{
 int i;
 double s=0,a=81.0;//最好定义双精度的,因为你开方了
 for(i=1;i<31;i++)
 {
  s+=a;
  a=sqrt(a);
 }
 printf("%.6f\n",s);//你输出的%.6d 输出的整型
}

回答2:

输出格式错误,float型s要用 %f 你用了%d 类型都弄错了

回答3:

int 是定义整数型变量 这里s是小数应该用double来定义s 最后的printf中改成%。6lf

回答4:

printf函数是一个不定参数函数。如printf("%d", data);把data变量以%d形式输出到终端。这里的"%"
取决你得数据类型,int-%d,float-%f,char-%c,字符数组-%s。希望对你有所帮助。

回答5:

注意s是float类型,对应lf
float的精度只有8位有效数字,少用float 用double

回答6:

你用%.6d输出当然不会是小数了,改为%.6f或%.6lf把