day07:分支结构实例
【题目描述】题目描述
八尾勇喜欢吃苹果。她今天吃掉了x(0≤x≤100)个苹果。英语课上学到了apple这个词语,想用它来造句。如果她吃了1个苹果,就输出 Today, I ate 1 apple.;如果她没有吃,那么就把 1 换成 0;如果她吃了不止一个苹果,别忘了apple这个单词后面要加上代表复数的s。你能帮她完成这个句子吗?
输入样例:1
输出样例:Today, I ate 1 apple.
输入样例:3
输出样例:Today, I ate 3 apples.
#include<iostream>
using namespace std;
int main(){
int x; cin>>x;
cout<<"Today, I ate "<<x;
if(x<=1){
cout<<" apple.";
}else{
cout<<" apples.";
}
return 0;
}
【题目描述】给出三个整数a,b,c(0≤a,b,c≤100),把他们从小到大排序。
输入样例:1 14 5
输出样例:1 5 14
#include<iostream>
using namespace std;
int main(){
int a,b,c; cin>>a>>b>>c;
if(a>b){ int t=a; a=b; b=t; } //如果a>b ,就交换a,b
if(a>c){ int t=a; a=c; c=t; }
if(b>c){ int t=b; b=c; c=t; }
cout<<a<<" "<<b<<" "<<c;
return 0;
}
【题目描述】小计买了一箱苹果共有n个,很不幸的是买完时箱子里混进了一条虫子。虫子每小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时这箱苹果中还有多少个苹果没有被虫子吃过?
输入样例:3 2 1
输出样例:2
#include<iostream>
using namespace std;
int main(){
int n,y; cin>>n>>y;
if(n<y){
cout<<0;
}else{
cout<<n-y;
}
return 0;
}
【题目描述】在大学校园里,由于校区很大,没有自行车上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁停车、锁车等,这要耽误一些时间。假设找到自行车、开锁并骑上自行车的时间为27秒,停车锁车的时间为23秒,步行每秒行走1.2米,骑车每秒行走3.0米。
输入距离(单位:米),输出是骑车快还是走路快。
分别用Walk. The same . Bike表示走路快、一样快、自行车快.
输入样例:90 100
输出样例:walk
#include<bits/stdc++.h>
using namespace std;
int main(){
double length; cin>>length;
int time1 =27+23+length/3;
int time2 =length/1.2;
if(time1>time2){ cout<<"Walk."; }
else if(time1<time2){ cout<<"Bike."; }
else{ cout<<"The same."; }
return 0;
}
【题目描述】某市的IC卡电话计费标准如下:首次为0.5元/3分钟(不足3分钟按3分钟计费),之后是0.2元/1分钟。已知某人打一次电话花费为x元,问这个人有可能打了多长时间的电话?(精确到分钟)
输入x,输出时间,如果输入错误,输出ERROR.
输入样例:0.5
输出样例:3分钟
输入样例:0.3
输出样例:ERROR
#include<iostream>
using namespace std;
int main(){
double money; cin>>money;
if(money==0.5){
cout<<"3分钟";
}else if(money>0.5){
int time =3+(money-0.5)/0.2;
cout<<time<<"分钟";
}else{ //money<0.5
cout<<"ERROR";
}
return 0;
}
【题目描述】输入一个不多于三位的正整数,求出它是几位数,
并分别打印出各位上的数字。如果输入错误,输出ERROR.
输入样例:5
输出样例:一位数,个位是:5
输入样例:45
输出样例:二位数,十位是:4,个位是:5
输入样例:0
输出样例:ERROR
#include<iostream>
using namespace std;
int main(){
int a; cin>>a;
if(a==0){ cout<<"ERROR";
}else if(a<10){
cout<<"一位数,个位是:"<<a;
}else if(a<100){
cout<<"二位数,十位是:"<<a/10<<",个位是:"<<a%10;
}else if(a<1000){
cout<<"三位数,百位是"<<a/100<<"十位是:"<<a/10<<",个位是:"<<a%10;
}
return 0;
}
补充知识点
fixed<<setprecision(7) // iomanip 保留小数点后7位
printf("%n.mld",PI); //输出n个宽度,保留m位小数
字符转数字:int num = (int)’A’; //num=65
数字转字符:char c = (char)65; //c = 'A'
#include<bits/stdc++.h> //万能头文件
int num = a>b ? a:b; //三目运算符: ?:
if(a>b) num = a;
else num=b;
int main() {
int num;
cin>>num;// -1 0 1
switch(num) {
case -1: printf("-1\n");break; //退出
case 1: printf("1\n"); break;
case 0: printf("0\n"); break;
default: //如果前面没有case执行,就执行
printf("ERROR\n"); break;
}
return 0;
}