创建一个循环,该循环将输出大于零且小于 60(不包括 60)的所有 5 的倍数



这是我周一到期的作业,老师不会给我回电子邮件。我的代码有效,但它一直显示 0 结果,我不知道为什么,每次我尝试修复它时,整个事情都会崩溃。说明是:创建一个循环,该循环将输出大于零的所有 5 的倍数和 小于 60(不包括 60(。这是有效的代码。

#include <stdio.h>
int main(void){
int multiples, count;
multiples = 5;
count = 0;
while (count < 60){
printf("%i n", count);
count = multiples + count;
if (count)
}
system("pause");

我真的不明白我在这里做错了什么。我知道我不能只做(数<60 &&数> 0(,因为我已经做了计数 = 0,但我需要摆脱结果 0 最好不要重写我的整个代码。

只是不要以 0 开头,最好是精确地乘以

#include <stdio.h>
int main(void){
int multiplier, count, value;
multiplier = 5;
count = 1;
do {
value = count * multiplier;
count++;
printf("%i n", value);
} while (value < 60)
system("pause");

正在打印0,因为在 while 循环中第一次达到printf("%i n", count);时,计数仍为 0。为了解决这个问题,你只需要切换行(在printf("%i n", count);之前有count = multiples + count;(。

此外,为了避免 60 岁,您需要添加 if 条件。

while (count < 60){
count = multiples + count;
if(count!=60) {
printf("%i n", count);
}
}

或者,您也可以从 5 开始count

#include <stdio.h>
int main(void){
int multiples, count;
multiples = 5;
count = 5;
while (count < 60){
printf("%i n", count);
count = multiples + count;
}
system("pause");

我建议使用for循环在一个代码行中计算 5 低于 60 的倍数:

int count=0;
for (int i=5; i<60; i+=5) {cout<<i<<'n'; count++;}
cout<<"Total multiples: "<<count;

实现它的另一种方法是使用do-while循环,以便在while子句计算计数值之前更改计数值。

最新更新