मैं सी के लिए नया हूं - मैंने एक प्रोग्राम बनाने का इरादा किया है जो दिखाता है कि उपयोगकर्ता इनपुट int विषम या सम है, जब तक कि उपयोगकर्ता एक char 'x' इनपुट करके छोड़ने का फैसला करता है। विषम संख्याओं का पता लगाकर और 'x' के साथ प्रोग्राम को समाप्त करके लूप प्रकार का काम करता है, हालाँकि सम संख्याओं के साथ गड़बड़ियाँ - ऐसा क्यों है? यदि आप कोड में खामियों को इंगित कर सकते हैं तो इसकी सराहना करेंगे। धन्यवाद

#include <stdio.h>

int main(void)

{
int i=0;
char x = "x";

printf("Enter an integer to check whether your number is odd or even\n");
printf("Enter an ´x´ at any time to quit the program\n");

do
{ 
    scanf("%d", &i);
    
        if (i % 2 == 0) 
        {
            printf("The number is even\n");
        }
        else if (i % 2 != 0)
        {
            printf("The number is odd\n");
        }   
        else("%c ", &x);
        {
            scanf(" %c", &x);
            getchar();
            printf("The program will now terminate\n");
            return 0;
        }
}
    while (i > 0);
        i++;

    return 0;
}   
0
soundsfierce 14 सितंबर 2020, 18:20

1 उत्तर

सबसे बढ़िया उत्तर

बहुत करीब लेकिन मैंने कुछ बदलावों को चिह्नित किया है:

#include <stdio.h>

int main(void)

{
int i=0;
char x = 'x';  // Note: single quotes for char, double for string

printf("Enter an integer to check whether your number is odd or even\n");
printf("Enter an ´x´ at any time to quit the program\n");

do
{ 
    int n = scanf("%d", &i);  // Check if number was read
    if (n == 1) {
        if (i % 2 == 0) 
        {
            printf("The number is even\n");
        }
        else  // Only other possibility
        {
            printf("The number is odd\n");
        }

    } else   // No number, see if there's an 'x'
    {
            scanf(" %c", &x);
            if (x == 'x') 
            {
                 printf("The program will now terminate\n");
                 return 0;
            } else
            {
                 printf("Unknown input %c\n", x);
            }
    }
}
    while (i > 0);  // Will also end if user enters <= 0

    return 0;
}
0
stark 14 सितंबर 2020, 18:42