day07:分支結構實例


day07:分支結構實例

1. apples

【題目描述】題目描述
八尾勇喜歡吃蘋果。她今天吃掉了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;
}

2. 給出三個整數從小到大排序

【題目描述】給出三個整數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;
}

3. 蟲子吃蘋果

【題目描述】小計買了一箱蘋果共有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;
}

4. 校園出行

【題目描述】在大學校園里,由於校區很大,沒有自行車上課辦事會很不方便。但實際上,並非去辦任何事情都是騎車快,因為騎車總要找車、開鎖停車、鎖車等,這要耽誤一些時間。假設找到自行車、開鎖並騎上自行車的時間為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;
}

5. IC卡電話計費

【題目描述】某市的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;
}

6. 輸入一個不多於三位的正整數,求出它是幾位數

【題目描述】輸入一個不多於三位的正整數,求出它是幾位數,
並分別打印出各位上的數字。如果輸入錯誤,輸出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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM