日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PAT乙级1004

發布時間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT乙级1004 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式:每個測試輸入包含 1 個測試用例,格式為第 1 行:正整數 n第 2 行:第 1 個學生的姓名 學號 成績第 3 行:第 2 個學生的姓名 學號 成績... ... ...第 n+1 行:第 n 個學生的姓名 學號 成績其中姓名和學號均為不超過 10 個字符的字符串,成績為 0 到 100 之間的一個整數,這里保證在一組測試用例中沒有兩個學生的成績是相同的。輸出格式:對每個測試用例輸出 2 行,第 1 行是成績最高學生的姓名和學號,第 2 行是成績最低學生的姓名和學號,字符串間有 1 空格。輸入樣例:3Joe Math990112 89Mike CS991301 100Mary EE990830 95 輸出樣例:Mike CS991301Joe Math990112

代碼

  • 不同函數

  • 此處是記錄的這種輸入輸入方式!!!我們可以看到兩個字符串之間是有空格的,我第一時間想的在輸入的時候如果出現空格時還得處理一下,經查閱資料完全多余的想法!!!
    cin函數: 當遇到空格、tab或者換行符的時候自動截斷!下面的不再寫入
    scanf函數: 完全也是如此。 scanf("%s,%s", &a,&b); 甚至兩者之間不用有空格

    但是問題來了!如果我們想輸入有空格的字符串怎么辦???
    cin.getline(a, sizeof(a));便可以獲取我們有空格的字符串
  • 當需要一次性輸入多個數據的時候
    while(count–) 也是我值得學習的地方!!!
  • 核心思想

  • 我在最初做這個題目時,想創建一個student數組,將所有的學生的數據包含進來,在進行比較。 發現這是完全多余的!!
    題目中并沒有要求去保存學生的數據,只是在輸入之后獲取成績最高的那個學生的數據就可以,所以定義一個學生類highest和一個學生類lowest用來在每次比較好保存就可以了!!!!
  • #include <stdio.h> #include <iostream> #include <string.h>using namespace std;typedef struct {char name[11];char stuNo[11];int score; }student;int main() {int count;student highest, lowest;student temp;highest.score = -1;lowest.score = 101;scanf("%d", &count);while(count--) {cin>>temp.name>>temp.stuNo>>temp.score;if(temp.score > highest.score) highest = temp;if(temp.score < lowest.score) lowest = temp;}cout<< highest.name << " " << highest.stuNo << endl;cout<< lowest.name <<" " << lowest.stuNo;return 0;} 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的PAT乙级1004的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。