C語言題目-結構體基礎題
阿新 • • 發佈:2018-12-30
1438 計算總分
Time Limit : 1000 MS | Memory Limit : 32768 KB
Submits : 295 | Solved : 112
Description
利用結構陣列處理多個學生資訊。給定若干個學生的資訊,假設學生資訊包括學號、姓名、3門課的成績,計算每個學生的總分,並按要求進行輸出。
Input
先輸入一個整數n,表示有n個學生的資訊。
接著輸入每個學生的學號、姓名以及3門課程的成績。
Output
輸出每個學生的學號、姓名以及總分。每個學生的資訊佔據一行。
Sample Input
3 1101 peter chen 90 91 92 1102 susan wang 87 88 89 1103 anney li 86 85 84
Sample Output
1101 peter chen 273 1102 susan wang 264 1103 anney li 255
HINT
假設學生人數不超過100人。學生姓名為長度不超過20的字元。
Source
NBU OJ
#include<stdio.h> #include <string.h> typedef struct student { int num; char name[20]; int score[3]; int sum; }STU; int main() { STU s[100]; int n,i,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&s[i].num); getchar(); //注意當上邊輸入學號之後會有換行符,會影響下面對名字的輸入,所以加上個getchar gets(s[i].name); for(j=0;j<3;j++) scanf("%d",&s[i].score[j]); } for(i=0;i<n;i++) { s[i].sum=0; for(j=0;j<3;j++) s[i].sum+=s[i].score[j]; } for(i=0;i<n;i++) { printf("%d %s %d\n",s[i].num,s[i].name,s[i].sum); } }