Как мне сделать это l oop? - PullRequest
0 голосов
/ 05 августа 2020
Напишите программу, предлагающую пользователю ввести два целых числа: num1 и num2 (где num1 должно быть меньше num2), а затем использовать время l oop:

 Вывод (ie отображение) все нечетные числа от num1 до num2 (включительно).  Выведите сумму всех четных чисел между num1 и num2 (").  Выведите сумму квадрата нечетных чисел между num1 и num2 (").

Например:

Введите 2 числа (num1

Я пробовал решая это в течение примерно 2 часов, и вот мой прогресс до сих пор, и я не знаю, куда go отсюда:

# define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
#include<math.h>


int main() {

    int num1,num2;

    printf("Enter 2 integers = ");
    scanf("%d%d", &num1, &num2);

    
        while (num1 < num2)

        num1++;

        if (num1 % 2 == 0) {
            printf("The even number are =%d\n", num1);


            }

        else{
            printf("The odd numbers are =%d\n", num1);
        
        }


    return 0;

}

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Ваш while-l oop не включает в себя правильный прицел. Обратите внимание, что он гласит:

 while (num1 < num2)
     num1++;
     if ...

В области, которую вы хотите повторить в l oop, нет фигурных скобок, поэтому тело l oop - это просто инструкция num1++. Если вы заключите в фигурные скобки все предполагаемое тело l oop, вы получите результат, который выглядит более согласованным с ожидаемым результатом:

while (num1 < num2) {
    num1++;
    if (num1 % 2 == 0) {
        printf(...)
    } else {
        printf(...)
    }
}

В вашем коде все еще остаются некоторые проблемы. Прежде всего, вы немедленно увеличиваете num1, поэтому первое выводимое значение будет num1 + 1, и могут возникнуть дополнительные проблемы, с которыми вы столкнетесь при отладке.

Это должен помочь вам на пути к решению упражнения. Вам нужно будет создать несколько дополнительных переменных для отслеживания сумм , которые вас просят напечатать (обратите внимание, что вы должны вывести сумму событий и квадратов шансов, а не отдельных ценности). Вы можете вычислить эти суммы в пределах l oop с помощью еще нескольких переменных int и распечатать эти результаты после l oop.

0 голосов
/ 05 августа 2020

вам не хватает {}, чтобы обернуть содержимое вашего l oop, попробуйте:

 while (num1 < num2)
 {
        num1++;

        if (num1 % 2 == 0) {
            printf("The even number are =%d\n", num1);
        }

        else{
            printf("The odd numbers are =%d\n", num1);
        
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...