C++怎么用if表示多个条件同时为真

输入一个四位数,判断当每个位都为1或2时,输出Yes,否则为No.

例如
1234,输出No
1212,输出Yes

输入的四位数为n的话,如下:

if( (n/1000 == 1 || n/1000 == 2) //最高位为1或2

&& ((n/100)%10 == 1 || (n/100)%10 == 2) //百位

&& ((n/10)%100 == 1 || (n/10)%100 == 2) //十位

&& (n%1000 ==1 || n%1000 == 2) ) //个位

printf("Yes");

else

printf("No");

扩展资料:

1、C/C++编程中if语句是用于的条件判断的控制语句,当判断条件成功时,将执行相应语句,否则跳过。具体形式如下:

if(表达式) 语句;

[else 语句;](可选)

if(表达式) 语句;

else if(表达式) 语句;

else if(表达式) 语句;

……

else 语句;

2、上面的描述当表达式成立时执行语句,而else是可选的,在表达式不成立时将执行此语句,可以不使用。此外if语句支持多层嵌套,可以对多个条件进行判断。

3、上例是输入一个值,然后根据它的范围输出提示。当if判断语句若仅用于赋值是,可以用?(问号运算)来替代,具体形式如下:

变量=(条件)?值1:值2

当条件成立时值1被赋予变量,否则值2被赋予。?(问号运算符)还可以嵌套

4、意思是输入一个分数,然后根据分数的大小判断究竟是哪个等级范围,最后将等级赋值给c变量。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-21
输入的四位数为n的话,可以这么写
if( (n/1000 == 1 || n/1000 == 2) //最高位为1或2
&& ((n/100)%10 == 1 || (n/100)%10 == 2) //百位
&& ((n/10)%100 == 1 || (n/10)%100 == 2) //十位
&& (n%1000 ==1 || n%1000 == 2) ) //个位
printf("Yes");
else
printf("No");本回答被提问者采纳
第2个回答  2016-03-27
输入的四位数为n的话,可以这么写
if( (n/1000 == 1 || n/1000 == 2) //最高位为1或2
&& ((n/100)%10 == 1 || (n/100)%10 == 2) //百位
&& ((n/10)%100 == 1 || (n/10)%100 == 2) //十位
&& (n%1000 ==1 || n%1000 == 2) ) //个位
printf("Yes");
else
printf("No");
第3个回答  2014-11-10
这个但用一个if是表示不出来的,需要用到循环追问

大神,具体要怎么做呢= =

第4个回答  2016-04-03
if(1==1 && 2==2 && 3==3){}
相似回答