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

    }
}

发布了24 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/xindada559/article/details/53764327