(新手)结束一个程序,偶数或奇数程序

(Newbie) Ending a program, even or odd program

我正在编写一个程序来判断一个数是偶数还是奇数。它会一直询问一个数字,直到用户输入零。

#include <stdio.h>

int main () {
    int number = 1;

    do{
        printf("Number? ");
        scanf("%d", &number)
    
        if(number % 2 != 0){
            printf("Odd\n");
        }
        else{
            printf("Even\n");
        }
    }while(number != 0);

    return 0;
}

但是我不知道如何在我键入零而不输出“偶数”时结束程序。非常感谢您的帮助,因为我被困在这个问题上并且不太确定如何前进。

您可以将 else 更改为 else if 并在打印 Even 之前检查数字是否为 0

只需将条件语句 if(number != 0) 添加到您的 else 块:

#include <stdio.h>

int main () {
    int number = 1;

    do{
        printf("Number? ");
        scanf("%d", &number)
    
        if(number % 2 != 0){
            printf("Odd\n");
        }
        else if(number != 0){
            printf("Even\n");
        }
    }while(number != 0);

    return 0;
}
#include <stdio.h>

int main () {
    int number = 1;

    do{
        printf("Number? ");
        scanf("%d", &number)

        if (number == 0)
        {
            printf("You Entered 0 to quit\n");
            break;   // Exit out of the Do-While Loop immediately
        }
    
        if(number % 2 != 0){
            printf("Odd\n");
        }
        else{
            printf("Even\n");
        }
    }while(number != 0);

    return 0;
}

您可以简单地在 return 上或直接在 return 0 上使用 exit() 函数。

#include <stdio.h>

int main () {
    int number = 1;

    do{
        printf("Number? ");
        scanf("%d", &number)
        if (number == 0)
          return 0;
    
        if(number % 2 != 0){
            printf("Odd\n");
        }
        else{
            printf("Even\n");
        }
    }while(number != 0);

    return 0;
}

在这种情况下,最好使用无限循环。

例如

#include <stdio.h>

int main(void) 
{
    while ( 1 )
    {
        printf( "Enter a number (0 - exit): " );
        
        int number;
        
        if ( scanf( "%d", &number ) != 1 || number == 0 ) break;
        
        printf( "The number %d is %s.\n", number, number % 2 == 0 ? "even" : "odd" );
    }
    
    return 0;
}

程序输出可能看起来像

Enter a number (0 - exit): 10
The number 10 is even.
Enter a number (0 - exit): 11
The number 11 is odd.
Enter a number (0 - exit): 0

您还可以在程序中包含 header <stdbool.h>

#include <stdbool.h>

并重写 while 语句,如

    while ( true )
    {
        // ...
    }