国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PAT-B 1004. 成績排名 (20)

2019-11-08 18:48:24
字體:
來源:轉載
供稿:網友

題目鏈接在此。

我的思路

用結構體數組保存所有輸入,用max和min兩個變量(初始化為max=-1,min=101,方便更新)來保存分數的最大值和最小值,max_index和min_index兩個變量來保存分數最大值和最小值的結構體成員在結構體數組中的下標,之后輸出即可。

我的AC代碼

#include<stdio.h>struct info{ char name[12]; char stuNum[12]; int grade;}stu[10002];int main(){ int n; scanf("%d",&n); int max = -1, min = 101; int max_index, min_index; //分數最高和最低的數組下標 for(int i = 0; i < n; i++){ scanf("%s %s %d",&stu[i].name,&stu[i].stuNum,&stu[i].grade); if(stu[i].grade > max){ max = stu[i].grade; max_index = i; } if(stu[i].grade < min){ min = stu[i].grade; min_index = i; } } 《算法筆記》思路

用三個結構體(結構體構成同上)temp,max,min,max.score和min.score初始化為-1和101(作用同上),一遍輸入(用temp結構體暫存),一邊比較,得出分數最大和最小的結構體,直接賦值給max或者min。

這里讓我明白,結構體竟然可以直接賦值,不過有需要注意的地方

簡單理解為:沒有指針的結構體可以直接賦值(這一塊涉及到raw point 和 smart point),有指針的結構體不能直接賦值。具體可見下面兩個參考鏈接。

C語言中結構體直接賦值? why = Operator works on structs without having been defined?

代碼

#include<stdio.h>struct info{ char name[12]; char stuNum[12]; int score;}temp,max,min;int main(){ int n; scanf("%d",&n); max.score = -1; min.score = 101; for(int i = 0; i < n; i++){ scanf("%s %s %d",temp.name,temp.stuNum,&temp.score); if(temp.score > max.score){ max = temp; } if(temp.score < min.score){ min = temp; } } printf("%s %s/n",max.name,max.stuNum); printf("%s %s/n",min.name,min.stuNum); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊吾县| 罗山县| 东台市| 张家港市| 北海市| 凤庆县| 赤水市| 枞阳县| 昌都县| 阿鲁科尔沁旗| 理塘县| 碌曲县| 嘉峪关市| 得荣县| 平昌县| 武汉市| 宝应县| 元朗区| 札达县| 上思县| 霸州市| 兴业县| 甘孜| 金湖县| 林州市| 托克逊县| 樟树市| 南丰县| 永吉县| 钦州市| 安仁县| 隆回县| 周口市| 旅游| 山丹县| 唐河县| 府谷县| 丹东市| 东莞市| 巨野县| 芮城县|