2017-10-29 9 views
1
#include<stdio.h> 

int main() 
{ 
int n,a=0,b=24; 
do 
    { 
    scanf("%d",n); //ask the user to enter a value of n less than 24 
        // but greater than 0. 
    } while(/*boolean expression logic*/) 

if(a<n<b) 
    { 
    printf("%d\n",n); 
    } 
    return 0; 
} 

Ich brauche zu bewerten:Erzwingen Eingang größer oder gleich 0 und kleiner als 24

Wenn der Wert von n größer oder gleich 0 und weniger als 24 (weniger als gehen oder gleich 23) dann

.... auf die if-Anweisung und drucken den Wert n

sonst

... den Benutzer bitten, den Wert n einzugeben, d. H. Es sollte wieder in die Schleife gehen.

+0

so was denken Sie, die Antwort sein sollte? – HuStmpHrrr

+0

ich weiß, dass es das Gegenteil von <= n

+0

'Ich weiß, dass es das Gegenteil sein wird' ja, so ... während (n <0) OR (n> 23) Schleife erneut. Jetzt Google 'C Boolesche Operatoren' und/oder 'C Boolesche Ausdrücke', und machen Sie die Codierung. –

Antwort

3

Sie möchten, dass das Programm nach Werten fragt, bis n>=0 && n<24; mit anderen Worten, möchten Sie für Werte während !(n>=0 && n<24) fragen zu halten, die mit De Morgan's law wir als !(n>=0) || !(n<24) schreiben können, die auf n<0 || n>=24 reduziert werden kann

do 
{ 
    scanf("%d",n); 
} 
while(n<0 || n>=24) 
Verwandte Themen