第1个回答 2011-09-27
你的错误比较多,语法错误有:for语句里不能定义变量,而且你还加单引号,for语句后面没有分号,最后一个printf也有问题。逻辑错误就没法讲了。
我照着你的思路给你写个正确的,你对比着看吧
#include <stdio.h>
int main()
{
int n,i,j;
int s=0,t=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
t=t+j;
}
s=s+t;
t=0;
}
printf("%d\n",s);
return 0;
}
还有一种更简单的:
#include<stdio.h>
int main()
{
int n,i;
int s=0,t=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t+i;
s=s+t;
}
printf("%d\n",s);
return 0;
}
第2个回答 2011-09-27
#include <stdio.h>
void main()
{
int n;
float s=0,t=0;
scanf("%d",&n);
for(int i=1;i<=n;i++);
{
s+=i;
a+=s;
}
printf("%d",s);
}本回答被提问者采纳
第3个回答 2011-09-27
#include <stdio.h>
int main()
{
int n;
float s=0,t=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
t = 0;
for(int j=1;j<=i;j++)
t=t+j;
s=s+t;
}
printf("%f\n",s);
return 0;
}
算法没有错。 关键是t 在内层循环结束后应该重置一次,要不然下一次使用时,初始值就是上一次 的值,会造成结果偏大。