作业帮 > 综合 > 作业

C语言求教 求"1*2++2*3+3*4+4+5+5*6+...+n*(n-1)的值 为什么我错?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 20:46:49
C语言求教 求"1*2++2*3+3*4+4+5+5*6+...+n*(n-1)的值 为什么我错?
int n ,i,sum=0,product;
printf("1*2++2*3+3*4+4+5+5*6+...+n*(n-1))\n输入n的值n=");
scanf("%d",&i);
for(n=1;n
int n ,i,sum=0,product;
printf("1*2++2*3+3*4+4+5+5*6+...+n*(n-1))\n输入n的值n=");
scanf("%d",&i);
for(n=2;n<=i;n++)//去掉分号,n从2开始,因为第一项是2*(2-1)
{//大括号括起来
product=n*(n-1);
sum=product+sum;
}
//while (n==i)//for循环结束就是最后的值了,不需要判断
//{
printf("%d\n",sum);
//}
再问: for 后面必须加一个大括号吗 为什么while加上就输出不了了啊
再答: 因为有两句语句在这个for下面,所以要大括号括起来。没有括号表示的是只有一条语句执行for循环 加上while也不会执行,因为这时n等于i+1,不满足n==i。实际需要的是输出一次结果,所以也不要循环。 而且,假设while能满足条件执行,也是死循环(永远满足条件),导致不停输出结果,这里更不能while。 另外,答案相似的,请注意最初的回答时间,可以按时间排序。