zoukankan      html  css  js  c++  java
  • 打印总分与各科成绩单

     

    图片

     #include<iostream>
    using namespace std;
    zong(float sum[100],int i,int m,int j,float max[100],float x[100],float X[100],int g,int k);
    zong1(float score[100][100],int i,int m,int j,float max[100],float x[100],float X[100],int l,int g,int k);
    struct subject
    {
     char a[100];
    }sub[52];
    struct student
    {
     int num;
     char name[100];
     float score;
    }stu[52];
    int main()
    {
     int i,n,j,m,l,g,k=0;
     float score[100][100],sum[100],x[100],X[100],max[100];
     cout<<"输入这次考试的总科目及考生的人数:"<<endl;
     cin>>n>>m;
     for(i=1;i<=n;i++)
     {
      cout<<"输入这次考试第"<<i<<"场科目的名字:";
      cin>>sub[i].a;
     }
     for(i=1;i<=m;i++)
     {
      sum[i]=0;
      if(i<10)
      {
       cout<<"输入学号为201122110812000"<<i<<"姓名:";
      }
      else if(i<100)
      {
       cout<<"输入学号为20112211081200"<<i<<"姓名:";
      }
      else if(i<1000)
      {
       cout<<"输入学号为20112211081200"<<i<<"姓名:";
      }
      cin>>stu[i].name;
      for(j=1;j<=n;j++)
      {
       cout<<"                                                                                    "<<sub[j].a<<"成绩:";
       cin>>score[i][j];
      }
      for(j=1;j<=n;j++)
      {
       sum[i]=sum[i]+score[i][j];
      }
      cout<<"                                                                                        "<<stu[i].name<<"的总分为:"<<sum[i]<<"分"<<endl;
     }
     do
     {
      cout<<"选择你要查看的排次类型:"<<endl<<"1:总分排名";
         for(i=1;i<=n;i++)
      {
       cout<<i+1<<":"<<sub[i].a<<"排名";
      }
      cout<<n+2<<":结束查询"<<endl;
      cin>>l;
      if(l==1)
      {
       cout<<"                                                    "<<"总分成绩的排名表如下:"<<endl;
       zong(sum,i,m,j,max,x,X,g,k);
      }
      for(i=1;i<=n;i++)
      {
       if(l==i+1)
       {
        cout<<"                                                  "<<sub[i].a<<"成绩的排名表如下:"<<endl;
        zong1(score,i,m,j,max,x,X,l,g,k);
       }
      }
     }
     while(l!=n+2);
     return 0;
    }
    zong(float sum[100],int i,int m,int j,float max[100],float x[100],float X[100],int g,int k)
    {
     for(i=1;i<=m;i++)
     {
      g=0;
      max[i]=-1;
      for(j=1;j<=m;j++)
      {
       max[i]=(sum[j]>max[i])?sum[j]:max[i];
      }
      x[i]=max[i];
      for(j=1;j<=m;j++)
      {
       if(x[i]==sum[j])
       {
        g++;
        X[i]=j;
        sum[j]=0;
        if(g==1)
         break;
       }
      }
     }
     k=0;
     for(i=1;i<=m;i++)
     {
      j=X[i];
            if(x[i]==x[i-1])
      {
       k++;
       if(i<10)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i-k<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
       else if(i<100)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i-k<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
      }
      else
      {
       if(i<10)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
       else if(i<100)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
          k=0;
      }
     }
     return 0;
    }
    zong1(float score[100][100],int i,int m,int j,float max[100],float x[100],float X[100],int l,int g,int k)
    {
     for(i=1;i<=m;i++)
     {
      g=0;
      max[i]=-1;
      for(j=1;j<=m;j++)
      {
       max[i]=(score[j][l-1]>max[i])?score[j][l-1]:max[i];
      }
      x[i]=max[i];
      for(j=1;j<=m;j++)
      {
       if(x[i]==score[j][l-1])
       {
        g++;
        X[i]=j;
        score[j][l-1]=0;
        if(g==1)
         break;
       }
      }
     }
     k=0;
     for(i=1;i<=m;i++)
     {
      j=X[i];
      if(x[i]==x[i-1])
      {
       k++;
       if(i<10)
       {
        cout<<"                                                       "<<"201122110812000"<<j<<"     "<<"第"<<i-k<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
       else if(i<100)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i-k<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
      }
      else
      {
       if(i<10)
       {
        cout<<"                                                       "<<"201122110812000"<<j<<"     "<<"第"<<i<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
       else if(i<100)
       {
        cout<<"                                                               "<<"201122110812000"<<j<<"     "<<"第"<<i<<"名"<<"    "<<stu[j].name<<"    "<<x[i]<<endl;
       }
          k=0;
      }
     }
     return 0;
    }

  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/zzkgis/p/3742602.html
Copyright © 2011-2022 走看看