c语言编写计算1*2*3+3*4*5+….+99*100*101
#include<stdio.h>voidmain(){inti,j,k;longn;n=0;for(i=1;i<=99;i=i+2)for(j=2;j<=100;j=j...
#include<stdio.h>
void main()
{
int i,j,k;
long n;
n=0;
for(i=1;i<=99;i=i+2)
for(j=2;j<=100;j=j+2)
for(k=3;i<=101;k=k+2)
{
n+=i*j*k;
}
printf("%ld",n);
}
到底错在哪里啊?求指教 展开
void main()
{
int i,j,k;
long n;
n=0;
for(i=1;i<=99;i=i+2)
for(j=2;j<=100;j=j+2)
for(k=3;i<=101;k=k+2)
{
n+=i*j*k;
}
printf("%ld",n);
}
到底错在哪里啊?求指教 展开
6个回答
展开全部
你的循环没有弄懂,按你的式子来说,第三层循环完后才进入第二层循环,第二层循环完后再进入第一层循环,第一层循环完后才退出。展开后为:
第1次循环:n = i*j*k = 1*2*3
第2次循环:n = i*j*k = 1*2*5
第3次循环:n = i*j*k = 1*2*7
……
第50次循环:n = i*j*k = 1*2*101
第51次循环:n = i*j*k = 1*4*3
第52次循环:n = i*j*k = 1*4*5
……
第1次循环:n = i*j*k = 1*2*3
第2次循环:n = i*j*k = 1*2*5
第3次循环:n = i*j*k = 1*2*7
……
第50次循环:n = i*j*k = 1*2*101
第51次循环:n = i*j*k = 1*4*3
第52次循环:n = i*j*k = 1*4*5
……
追问
那根据我的这个,怎么改比较好?
展开全部
#include<stdio.h>
void main()
{
int i,j,k;
long n;
n=0;
for(i=1;i<=99;i=i+2)
{
j = i + 1;
k = i + 2;
n+=i*j*k;
}
printf("%ld",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑错误,只有一重循环,不是三重,改成:
for(i=1, j =2, k =3; i<=99; i=i+2, j = j+2, k = k+2)
{
n+=i*j*k;
}
for(i=1, j =2, k =3; i<=99; i=i+2, j = j+2, k = k+2)
{
n+=i*j*k;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
long i;
long term, sum = 0;
for (i = 1; i <= 101; i = i +2)
{
term = i*(i + 1)*(i + 2);
sum = sum + term;
}
printf("sum=%d", sum);
}
作者亲测,放心可用,for语句,,不用写成那么复杂吧
main()
{
long i;
long term, sum = 0;
for (i = 1; i <= 101; i = i +2)
{
term = i*(i + 1)*(i + 2);
sum = sum + term;
}
printf("sum=%d", sum);
}
作者亲测,放心可用,for语句,,不用写成那么复杂吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(k=3;i<=101;k=k+2)
{
printf(("%d,%d,%d",i,j,k);//看看你的乘数对不对,应该不是你要的结果
n+=i*j*k;
}
你对循环要加深理解,其它只要一层循环就够了。
{
printf(("%d,%d,%d",i,j,k);//看看你的乘数对不对,应该不是你要的结果
n+=i*j*k;
}
你对循环要加深理解,其它只要一层循环就够了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询