这是我周一到期的作业,老师不会给我回电子邮件。我的代码有效,但它一直显示 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
子句计算计数值之前更改计数值。