我被困住了,我可以用一双新鲜的眼睛。
这里的问题是: 创建一个循环,计算8的倍数之和,介于100和500之间。输出总和。
这是我的代码
我的问题是,如果我说... while(多个> 100&&< 500)我的唯一输出是"按任意键继续"。如果我编辑它所以说while(多个< 500)它运行正常,但包括我不需要的100以下的倍数。
我不明白为什么它不会让我说出来(多个>&&倍数< 500)
非常感谢任何帮助。
int number = 8, count = 1, multiple = 0, sum = 0;
while (multiple < 500) {
multiple = number * count;
count = ++count;
printf("Your multiple is: %i \n", multiple);
}
sum = multiple * count;
count = ++count;
printf("Your sum of the multiples are: %i \n", sum);
system("pause");
答案 0 :(得分:2)
它不会让你说while(multiple > 100)
,因为multiple
从0开始。你永远不会进入循环。
你想:
while (multiple < 500) {
multiple = number * count;
count = ++count;
if (multiple > 100) {
printf("Your multiple is: %i \n", multiple);
}
}
答案 1 :(得分:0)
嗨,简单的回答是,如果你只是初始化count = 101; 代码将正常运行,您将获得正确答案,因为您需要100到500之间的总和。
为什么要浪费一些你不想要的处理时间。