c语言例题介绍

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:00:45
#include <stdio.h>
int main(void)
{
int sum=0L;
int count=0;
int i=1;
int j=1;

printf("\nEnter the number of integers you want to sum:");
scanf("%d,&count);

for(;i<=count;i++)
{
for(;j<=i;j++)
sum+=j;

printf("\n%d\t%ld",i,sum);
}
return 0;
}

结果是
1 1
2 3
3 6
4 10
5 15
请大家一步步告诉小弟是如何做到的,并且如果有不合理的地方,请指出。因为我完全按照书上写的得不到这个结果,经过自己修改,如把for后面括号里的int定量放到前面等
一步步说明!

scanf("%d,&count);错了,少了个"
应该是scanf("%d",&count);

i第一次循环时,值为1,所以j是从1到1循环,即执行了一次,sum+=1;得到1。
i第二次循环时,值为2,j在上次循环后没有重新赋值,所以值是2,j从2到2循环,还是只执行一次,sum+=2,得到3
i第三次循环时,值为3,j在上次循环后没有重新赋值,所以值是3,j从3到3循环,仍然只执行一次,sum+=3,得到6
以此类推。

关键是j在循环后没有重新赋值,所以每次循环只执行一次循环体。

i和j没复位呀
#include <stdio.h>
int main(void)
{
int sum=0L;
int count=0;
int i;
int j;

printf("\nEnter the number of integers you want to sum:");
scanf("%d,&count);

for(i=1;i<=count;i++)
{
for(j=1;j<=i;j++)
sum+=j;

printf("\n%d\t%ld",i,sum);
}
return 0;
}

这样就行了