Создайте цикл, который будет выводить все кратные 5, которые больше нуля и меньше 60 (не включая 60) - PullRequest
0 голосов
/ 19 октября 2019

Это задание, которое я должен получить в понедельник, и учитель не отправит мне ответное письмоМой код работает, но в результате он показывает 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");

Я действительно не понимаю, что я делаю здесь неправильно. Я получаю то, что не могу просто сделать (count <60 && count> 0), потому что я сделал count = 0, но мне нужно избавиться от результирующего 0 предпочтительно без переписывания всего моего кода.

Ответы [ 3 ]

1 голос
/ 19 октября 2019

0 печатается, потому что первый раз, когда printf("%i \n", count); достигается в цикле while, счетчик все еще равен 0. Чтобы это исправить, вам просто нужно переключить линии (имейте count = multiples + count; перед printf("%i \n", count);).

Кроме того, чтобы избежать печати 60, вам нужно добавить условие if.

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

В качестве альтернативы, вы также можете просто начать count с 5:

#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");
0 голосов
/ 20 октября 2019

Я предлагаю использовать цикл 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.

0 голосов
/ 19 октября 2019

Только не начинайте с 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");
...