MOOC 程序设计基础(C&C++) 戴波、张东祥 第四章 数组与结构 作业

来源:互联网 发布:见过最开放的女生知乎 编辑:程序博客网 时间:2024/05/18 03:42

1 . 学生管理系统(100分)

  • 题目内容

    • 编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,0表示女)、 生日(19850101(年月日))、身高(以m为单位),还需要处理C语言、微积分两门课的成绩,请编写程序实现功能: 输入学生的人数和每个学生的信息;输出每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。需要注意的是某门课程最高分的学生可能不只一人。
  • 输入输出格式要求
    身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符。

  • 例如

输入为:

zhangsan 1 19910101 1.85 85 90 lisi     1 19920202 1.56 89 88 wangwu   2 19910303 1.60 89 90 

输出:

C_average:87 C_max:89 lisi   1 19920202 1.56 89 88 wangwu 2 19910303 1.60 89 90 C_min:85 Calculus_average:89 Calculus_max:90 zhangsan 1 19910101 1.85 85 90 wangwu   2 19910303 1.60 89 90 Calculus_min:88

代码

#include <stdio.h>#include <string.h>struct Node{    char name[25];    int f;    char str[10];    double h;    int l,r;}P[100];int main(){    int n;    scanf("%d",&n);    int C_max=0,C_min=100,C_sum=0;    int Ca_max=0,Ca_min=100,Ca_sum=0;    for (int i=0;i<n;i++)    {        scanf("%s %d %s %lf %d %d",P[i].name,&P[i].f,P[i].str,&P[i].h,&P[i].l,&P[i].r);        if (P[i].l>C_max) C_max=P[i].l;        if (P[i].l<C_min) C_min=P[i].l;        if (P[i].r>Ca_max) Ca_max=P[i].r;        if (P[i].r<Ca_min) Ca_min=P[i].r;        C_sum+=P[i].l;        Ca_sum+=P[i].r;    }    printf("C_average:%d\n",C_sum/n);    printf("C_max:%d\n",C_max);    for (int i=0;i<n;i++)    {        if (P[i].l==C_max)         {            printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r);        }    }    printf("C_min:%d\n",C_min);    printf("Calculus_average:%d\n",Ca_sum/n);    printf("Calculus_max:%d\n",Ca_max);    for (int i=0;i<n;i++)     {        if (P[i].r==Ca_max)         {            printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r);        }    }    printf("Calculus_min:%d\n",Ca_min);    return 0;}
0 0
原创粉丝点击