选择结构,顾名思义,就是教给你的计算机在遇见问题时如何选择,以下主要介绍if() else。
if else
单层
if else是最常见的选择结构了,单层判断写法如下:
if(要判断的条件){
满足条件执行的语句;
}else{//否则
不满足条件执行的语句;
}
例题:给定一个正整数a,请判断其奇偶性,奇数输出yes,偶数输出no。
样例1
输入
13
输出
yes
样例二
输入
16
输出
no
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==1){//奇数
cout<<"yes";
}else{//偶数
cout<<"no";
}
return 0;
}
多层
if else的嵌套也非常简单,写法如下:
if(条件){
语句;
}else{
if(条件){
语句;
}else{
语句;
}
}
依次类推,还能找出更多层数的嵌套,再此不一一赘述。
例题
给定一年份a,判断是否为闰年。平年输出no,闰年输出yes。
样例1
输入
2016
输出
yes
样例二
输入
1900
输出
no
思路:先想一下闰年判断方式:“如果是100的倍数,那就需要判断是否是400的倍数,反之只需要判断是否是4的倍数。”把这个方式告诉你的程序即可。
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
if(a%100==0){//判断是不是100的倍数
if(a%400==0){//判断是不是400的倍数
cout<<"yes";
}else{//若不是400的倍数
cout<<"no";
}
}else{//若不是100的倍数
if(a%4==0){//判断是不是4的倍数
cout<<"yes";
}else{//若不是4的倍数
cout<<"no";
}
}
return 0;
}
三目运算符
写if else很烦人,足足6个字母呢,我们伟大的先人们就发明了一个好东西:“? :”这可不是两个符号二是if else的一种特殊写法,像这样的式子:
式子1?式子2:式子3;
等于
if(式子1){
式子2;
}else{
式子3;
}
比如刚才奇偶数的题可以改进为:
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
a%2==0?cout<<"no":cout<<"yes";//等同为原本的if else
return 0;
}
说了这么多布置一道题作为作业吧
https://www.luogu.com.cn/problem/B2052#submit
PS
本人的第二篇博客,希望各位大佬能提出建议,谢谢!!!