C语言的问题,不知道怎么书写 题目编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。
#include<stdio.h>intmain(){intn;floats=0,t=0;scanf("%d",&n);for('inti=1;i<=n;i++');{f...
#include <stdio.h>
int main()
{
int n;
float s=0,t=0;
scanf("%d",&n);
for('int i=1;i<=n;i++');
{
for('int j=1;j<=i;j++');
t=t+j;
s=s+t;
}
printf("%f\n&",s);
return 0;
}
麻烦告诉我如何解此题以及我的错误是什么。。。初学者没基础。。。谢谢啦 展开
int main()
{
int n;
float s=0,t=0;
scanf("%d",&n);
for('int i=1;i<=n;i++');
{
for('int j=1;j<=i;j++');
t=t+j;
s=s+t;
}
printf("%f\n&",s);
return 0;
}
麻烦告诉我如何解此题以及我的错误是什么。。。初学者没基础。。。谢谢啦 展开
8个回答
展开全部
c语言还是c++,你是问的c语言就按照c语言来说啊。c语言要求main函数是没有返回值的,且所有类型定义都要在文件的开始,写成如下形式,当然下面的c++也可以编译通过。
语法错误:for循环中间不要有单引号,最后不能有分号“;”
逻辑错误:不用两层循环,一层就行了。
类型错误:不用float,就是int就行了,没必要用浮点数吗,又不是小数,怕不够用long来表示
#include <stdio.h>
void 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);
}
语法错误:for循环中间不要有单引号,最后不能有分号“;”
逻辑错误:不用两层循环,一层就行了。
类型错误:不用float,就是int就行了,没必要用浮点数吗,又不是小数,怕不够用long来表示
#include <stdio.h>
void 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);
}
展开全部
你的错误比较多,语法错误有: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;
}
我照着你的思路给你写个正确的,你对比着看吧
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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 在内层循环结束后应该重置一次,要不然下一次使用时,初始值就是上一次 的值,会造成结果偏大。
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 在内层循环结束后应该重置一次,要不然下一次使用时,初始值就是上一次 的值,会造成结果偏大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把float改为long,去掉return 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |