#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 输出的整型
}
输出格式错误,float型s要用 %f 你用了%d 类型都弄错了
int 是定义整数型变量 这里s是小数应该用double来定义s 最后的printf中改成%。6lf
printf函数是一个不定参数函数。如printf("%d", data);把data变量以%d形式输出到终端。这里的"%"
取决你得数据类型,int-%d,float-%f,char-%c,字符数组-%s。希望对你有所帮助。
注意s是float类型,对应lf
float的精度只有8位有效数字,少用float 用double
你用%.6d输出当然不会是小数了,改为%.6f或%.6lf把