zoukankan      html  css  js  c++  java
  • 用结构体实现一个简单的学生信息系统

    #include <stdio.h>

    #define N 30

    struct STUDENT

    {

           char sname[30];//名字

           char sclass[10];//班级

           char ID[10];//学号

           char sdor[10];//宿舍

           float sscore[4];//4科分数

    }stu[N];

    void input(struct STUDENT stu[],int n)//输入各种信息

    {

           int i;

           for(i=0;i<n;i++)

           {

                  scanf("%s %s %s %s",stu[i].sname,stu[i].sclass,stu[i].ID,stu[i].sdor);

                  for(int j=0;j<4;j++)

                  {

                         if(j!=3||i==n-1)

                         scanf("%f",&stu[i].sscore[j]);

                         else

                         {

                                scanf("%f",&stu[i].sscore[j]);

                                getchar();

                         }

                  }

           }

    }

    void output(struct STUDENT stu[],int n)//输出各种信息

    {

           int i;

           for(i=0;i<n;i++)

           {

                  printf("%s %s %s %s ",stu[i].sname,stu[i].sclass,stu[i].ID,stu[i].sdor);

                  for(int j=0;j<4;j++)

                  {

                         if(j!=3)

                         printf("%.2f ",stu[i].sscore[j]);

                         else

                         {

                                printf("%.2f\n",stu[i].sscore[j]);

                         }

                  }

           }

    }

    int max(struct STUDENT stu[],int n)//比较各学生的计算机成绩

    {

           int i,t=0;

           for(i=0;i<n;i++)

           {

                  if(stu[t].sscore[3]<stu[i].sscore[3])

                  {

                         t=i;

                  }

           }

           return t;

    }

    change(float a[],int n)//对总分进行排序

    {

           int i,j;

           float t;

           for(i=0;i<n;i++)

           {

                  for(j=0;j<n-i-1;j++)

                  {

                         if(a[j]<a[j+1])

                         {

                                t=a[j];

                                a[j]=a[j+1];

                                a[j+1]=t;

                         }

                  }

           }

    }

    int main(void)

    {

           int n,i,j;

           float a[N]={0};

           input(stu,N);

           output(stu,N);

           n=max(stu,N);

           printf("computer max information:\nname:%s\nclass:%s\nID:%s\ndormatory:%s\nscore:",stu[n].sname,stu[n].sclass,stu[n].ID,stu[n].sdor);

           for(j=0;j<4;j++)

           {

                  if(j!=3)

                         printf("%.1f ",stu[n].sscore[j]);

                  else

                         printf("%.1f\n",stu[n].sscore[j]);

           }

           for(i=0;i<N;i++)//求各学生总分到数组

           {

                  for(j=0;j<4;j++)

                  {

                         a[i]+=stu[i].sscore[j];

                  }

           }

           change(a,N);

           printf("sum:");

           for(i=0;i<N;i++)

           {

                  if(i!=(N-1))

                  {

                         printf("%.1f ",a[i]);

                  }

                  else

                  {

                         printf("%.1f\n",a[i]);

                  }

           }

    }

  • 相关阅读:
    跟我一起学extjs5(02--建立project项目)
    SVN经常使用操作
    CWnd::Attach()具体解释
    51nod1160 压缩算法的矩阵——一道有趣的题
    Java实现 LeetCode 594 最长和谐子序列(滑动窗口)
    Java实现 LeetCode 1162 地图分析(可以暴力或者动态规划的BFS)
    Java实现 LeetCode 1162 地图分析(可以暴力或者动态规划的BFS)
    Java实现 LeetCode 1162 地图分析(可以暴力或者动态规划的BFS)
    Java实现 LeetCode 593 有效的正方形(判断正方形)
    Java实现 LeetCode 593 有效的正方形(判断正方形)
  • 原文地址:https://www.cnblogs.com/zhaohongjie/p/12118384.html
Copyright © 2011-2022 走看看