1. 程式人生 > >C語言題目-結構體基礎題

C語言題目-結構體基礎題

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);

    }
}