c语言输出1*2*3+3*4*5+...+99*100*101(小白)
本帖最后由 Cathy-Chen258 于 2020-12-4 13:33 编辑#include <stdio.h>
int main()
{
int i,sum;
sum=0;
i=1;
do
{
sum=sum+i*(i+1)*(i+2);
if (i>99)
printf("%d*%d*%d+",i,i+2,1+3);
else
printf("%d*%d*%d+",i,i+2,i+3);
i=i+2;
}while(i<=100);
printf("\nsum=%d",sum);
return 0;
}
各位热心网友帮我看看老师布置的作业要求输出“1*2*3+3*4*5+...+99*100*101=”,我画了个数学程序框图的思路,但运行出来不是"1*2*3+3*4*5+...+99*100*101=",能否帮我看看拿错了,或者有什么用for 或者(do)while 来运行的方法可以分享下吗??谢谢你们的耐心与热心帮助
^_^ 看一下py代码
x=1
while x<=99:
print (x,x+1,x+2)
x+=2
1 2 3
3 4 5
5 6 7
7 8 9
9 10 11
11 12 13
13 14 15
15 16 17
17 18 19
19 20 21
21 22 23
23 24 25
25 26 27
27 28 29
29 30 31
31 32 33
33 34 35
35 36 37
37 38 39
39 40 41
41 42 43
43 44 45
45 46 47
47 48 49
49 50 51
51 52 53
53 54 55
55 56 57
57 58 59
59 60 61
61 62 63
63 64 65
65 66 67
67 68 69
69 70 71
71 72 73
73 74 75
75 76 77
77 78 79
79 80 81
81 82 83
83 84 85
85 86 87
87 88 89
89 90 91
91 92 93
93 94 95
95 96 97
97 98 99
99 100 101 wp231957 发表于 2020-12-4 13:48
看一下py代码
x=1
这个有点麻烦也,可以用循环语句的?(太不好意思让你输这么多数字{:5_96:}) Cathy-Chen258 发表于 2020-12-4 13:57
这个有点麻烦也,可以用循环语句的?(太不好意思让你输这么多数字)
这还麻烦:
sum=0
x=1
while x<=99:
sum+=x*(x+1)*(x+2)
if x<99:
print (x,"*",x+1,"*",x+2,"+",end="")
else:
print (x,"*",x+1,"*",x+2,end="")
x+=2
print("=",sum)
D:\wp\wp>py app3.py
1 * 2 * 3 +3 * 4 * 5 +5 * 6 * 7 +7 * 8 * 9 +9 * 10 * 11 +11 * 12 * 13 +13 * 14 * 15 +15 * 16 * 17 +17 * 18 * 19 +19 * 20 * 21 +21 * 22 * 23 +23 * 24 * 25 +25 * 26 * 27 +27 * 28 * 29 +29 * 30 * 31 +31 * 32 * 33 +33 * 34 * 35 +35 * 36 * 37 +37 * 38 * 39 +39 * 40 * 41 +41 * 42 * 43 +43 * 44 * 45 +45 * 46 * 47 +47
* 48 * 49 +49 * 50 * 51 +51 * 52 * 53 +53 * 54 * 55 +55 * 56 * 57 +57 * 58 * 59 +59 * 60 * 61 +61 * 62 * 63 +63 * 64 * 65 +65 * 66 * 67 +67 * 68 * 69 +69 *
70 * 71 +71 * 72 * 73 +73 * 74 * 75 +75 * 76 * 77 +77 * 78 * 79 +79 * 80 * 81 +81 * 82 * 83 +83 * 84 * 85 +85 * 86 * 87 +87 * 88 * 89 +89 * 90 * 91 +91 * 92 * 93 +93 * 94 * 95 +95 * 96 * 97 +97 * 98 * 99 +99 * 100 * 101= 13002450 本帖最后由 jackz007 于 2020-12-4 14:33 编辑
第 11、13行要改
printf("%d*%d*%d+",i,i+2,1+3);
改成这样
printf("%d*%d*%d+",i,i+1,i+2);
最后的 sum 值是对的。
修改后的完整代码如下:
#include <stdio.h>
int main()
{
int i , sum ;
for(sum = 0 , i = 1 ; i < 100 ; i += 2) {
sum = sum + i * (i + 1) * (i + 2) ;
if(i > 1) printf("+") ;
printf("%d*%d*%d" , i , i + 1 , i + 2) ;
}
printf("\nsum=%d" , sum) ;
} 在你的程序上稍加修改
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
do
{
sum += i * (i + 1) * (i + 2);
printf("%d * %d * %d + ", i, i + 1, i + 2);
i += 2;
} while (i < 100);
printf("\b\b\b = %d", sum);
printf("\n");
return 0;
} 本帖最后由 Cathy-Chen258 于 2020-12-4 14:30 编辑
#include <stdio.h>
int main()
{
int i,sum;
sum=0;
i=1;
while (i<100)
{
sum=sum+i*(i+1)*(i+2);
printf("%d*%d*%d+",i,i+1,i+2);
i=i+2;
}
printf("\nsum=%d",sum);
return 0;
}
可以了也也不知道答案对不对而已
不过还是谢谢你的提醒{:5_109:} 风过无痕1989 发表于 2020-12-4 14:25
在你的程序上稍加修改
(⊙o⊙)~是这么回事,不过想知道“\b”是什么? 还有因为好多人回复可能不能给到你最佳真的很不好意思{:5_96:} jackz007 发表于 2020-12-4 14:24
第 11、13行要改
改成这样
对对对,我现在才发现,还有很谢谢你还给我弄过了个for的,但十分抱歉因为太多人回复我,我可能不能给你最佳,下次有缘~{:5_96:} Cathy-Chen258 发表于 2020-12-4 14:33
(⊙o⊙)~是这么回事,不过想知道“\b”是什么? 还有因为好多人回复可能不能给到你最佳真的很不好意思 ...
\b相当于回退键 Cathy-Chen258 发表于 2020-12-4 14:37
对对对,我现在才发现,还有很谢谢你还给我弄过了个for的,但十分抱歉因为太多人回复我,我可能不能给你 ...
for和while本是一家 大部分for循环和while循环 都是可以互换的
页:
[1]