满意答案
myhso
2015.10.31
采纳率:54% 等级:8
已帮助:1060人
主函数main没有定义,在c语言中 两个整数相除返回整数 1/1 结果为 1 ,1/2,1/3结果为0,所以
s=s+1/k要改为s=s+1.0/k ,最终的结果有小数 s不能定义为int整数,要定义s为float或double类型
printf("the Sum is %d",s);中%d是输出整数的要改为 %f或%lf
#include
main()
{
int k; /*k1,k2,k3未使用去掉*/
double s; /*将s改为double类型*/
for(k=1;k<=100;k++)
{
s=s+k;
}
for(k=1;k<=50;k++)
{
s=s+k*k;
}
for(k=1;k<=10;k++)
{
s=s+1.0/k; /*s=s+1/k改为s=s+1.0/k*/
}
printf("the Sum is %lf",s); /*输出格式字符由int的 %d改为double的%lf*/
}追问: 。如何重设
追答: 这个程序不用输入什么值的,直接用循环就行
追问: 这是我改过的 哪里不对?
追答: 这是最后一个for循环,除数为0,所以产生了错误,把最后一组for循环i的初值设为1开始就可以了
追问: 你的程序运行出来这些错误怎么改
追问: 错误已更改
追问: 运行出来依然这样 怎么回事啊
追问: 为什么这个错误不报错呢
追问: 谢谢啦
00分享举报