#include
int main()
{
int n1=100,n2=50,n3=10;
double s1=0,s2=0,s3=0,k;
for(k=1;k<=n1;k++);
{
s1=s1+k;
}
for(k=1;k<=n2;k++);
{
s2=s2+k*k;
}
for(k=1;k<=n3;k++);
{
s3=s3+1/k;
}
printf("总和为:%f\n",s1+s2+s3);
return 0;
}
你在for循环后面都多加了一个分号 导致结果不对
同上,for循环后直接接分号
除了加分号这个问题,重点是第三个for循环不对
求倒数的时候,整数除以整数,会忽略掉小数部分
1/1=1 1/2=0 1/3=0
故在整数相除之前需强制转换为double或者float
如1.0/2 1.0/3 。。。。
for(k=1;k<=n3;k++);for语句有问题
设计程序随机产两个1~10之间的正整数,在屏幕上打印出问题例如:6*7=?然后让学生输入答案。程序检查学生输入的是否正确,若正确,则打印“right!”,然后问下一个问题;否则打印“wrong! please try again.”,然后提示学生重做,直到答对为止