#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;
}
我需要评估:
如果 n 的值大于或等于0且小于24(小于或等于23),则
....转到if语句并打印 n
的值,否则
...要求用户输入 n 的值,即它应该再循环回来。
答案 0 :(得分:3)
您希望程序在n>=0 && n<24
之前继续询问值;换句话说,您希望在!(n>=0 && n<24)
时继续询问值,使用De Morgan's law我们可以将其写为!(n>=0) || !(n<24)
,可以将其缩写为n<0 || n>=24
do
{
scanf("%d",n);
}
while(n<0 || n>=24)