zoukankan      html  css  js  c++  java
  • 山西省高考成绩的排次系统【可查询成绩改正和将作弊成绩去除】

    山西省高考成绩的排次系统【可查询成绩改正和将作弊成绩去除】

    图片

    图片

    图片

    #include<iostream>
    using namespace std;
    int main()
    {
     int i,j,k,o,a[100][100][10],max[100],x[100],n,m,p,cen[100],hang[100],lie[100],g,y=0,q=0,l=0;
     int u,d,t,zuo[100],bi[100],kao[100];
     int fen[100],r,w;
     int j1[100];
     cout<<"分别输入山西省所有学校的个数,每个学校的班级个数,每个班级考生的个数:"<<endl;
     cin>>n>>m>>p;
     cout<<"请输入所在*学校*班级*考号的山西考生的高考成绩:"<<endl;
     for(i=1;i<=n;i++)
     {
      for(j=1;j<=m;j++)
      {
       for(k=1;k<=p;k++)
       {
        cout<<"输入第"<<i<<"学校"<<"   "<<j<<"班级"<<"   "<<"考号为"<<i<<" "<<j<<" "<<k<<"的考生的高考成绩:";
        cin>>a[i][j][k];
       }
      }
     }
     for(o=1;o<=n*m*p;o++)
     {
      g=0;
      max[o]=-1;
      for(i=1;i<=n;i++)
      {
       for(j=1;j<=m;j++)
       {
        for(k=1;k<=p;k++)
        {
         max[o]=(a[i][j][k]>max[o])?a[i][j][k]:max[o];
        }
       }
      }
      x[o]=max[o];
      for(i=1;i<=n;i++)
      {
       for(j=1;j<=m;j++)
       {
        for(k=1;k<=p;k++)
        {
         if(x[o]==a[i][j][k])
         {
          g++;
          if(g==1)
          {
           a[i][j][k]=0;
              cen[o]=i;
              hang[o]=j;
              lie[o]=k;
          }
         }
        }
       }
      }
     }
     cout<<"在山西省的所有学校中:"<<endl;
     for(o=1;o<=n*m*p;o++)
     {
      if(x[o]==x[o-1])
      {
       l++;
       cout<<"第"<<o-l<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
      }
      else
       cout<<"第"<<o<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
          l=0;
     }
     do
     {
      cout<<"1:有考生因作弊需踢出     2:有考生因被误判需重新排次     3:无错误,将排次计入档案袋"<<endl<<endl;
         cin>>d;
      if(d==1)
      {
       cout<<"输入作弊考生的人数:"<<endl;
       cin>>t;
       y=t;
       for(u=1;u<=t;u++)
       {
        cout<<"输入作弊考生"<<u<<"的考号:"<<endl;
        cin>>zuo[u]>>bi[u]>>kao[u];
       }
       for(u=1;u<=t;u++)
       {
        for(o=1;o<=n*m*p-q;o++)
        {
         if(zuo[u]==cen[o]&&bi[u]==hang[o]&&kao[u]==lie[o])
         {
          do
          {
           x[o]=x[o+1];
                 cen[o]=cen[o+1];
                 hang[o]=hang[o+1];
                 lie[o]=lie[o+1];
              o++;
          }
          while(o!=n*m*p);
         }
        }
       }
       cout<<"将作弊考生踢出后的重新排次为:"<<endl<<endl;
       l=0;
       for(o=1;o<=n*m*p-t-q;o++)
       {
        if(x[o]==x[o-1])
        {
         l++;
         cout<<"第"<<o-l<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
        }
        else
         cout<<"第"<<o<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
            l=0;
       }
      }
      if(d==2)
      {
       cout<<"输入被误判考生的个数:"<<endl;
       cin>>t;
       for(u=1;u<=t;u++)
       {
        cout<<"输入误判考生"<<u<<"的考号以及改正后的分数:"<<endl;
        cin>>zuo[u]>>bi[u]>>kao[u]>>fen[u];
       }
       for(u=1;u<=t;u++)
       {
        for(o=1;o<=n*m*p-y;o++)
        {
         if(zuo[u]==cen[o]&&bi[u]==hang[o]&&kao[u]==lie[o])
         {
          x[o]=fen[u];
          for(w=1;w<=n*m*p-y;w++)
          {
           if(o>1)
           {
            if(x[o]>x[o-1])
            {
             r=x[o];
                   x[o]=x[o-1];
                   x[o-1]=r;
                   r=cen[o];
                   cen[o]=cen[o-1];
                   cen[o-1]=r;
                   r=hang[o];
                   hang[o]=hang[o-1];
                   hang[o-1]=r;
                   r=lie[o];
                   lie[o]=lie[o-1];
                   lie[o-1]=r;
                o--;
            }
               else
             break;
           }
          }
          for(w=1;w<=n*m*p-y;w++)
          {
           if(x[o]<x[o+1])
           {
            r=x[o];
               x[o]=x[o+1];
               x[o+1]=r;
               r=cen[o];
               cen[o]=cen[o+1];
               cen[o+1]=r;
               r=hang[o];
               hang[o]=hang[o+1];
               hang[o+1]=r;
               r=lie[o];
               lie[o]=lie[o+1];
               lie[o+1]=r;
            o++;
           }
           else 
            break;
          }
         }
        }
       }
       l=0;
       for(o=1;o<=n*m*p-y;o++)
       {
        if(x[o]==x[o-1])
        {
         l++;
         cout<<"第"<<o-l<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
        }
        else
         cout<<"第"<<o<<"名是第"<<cen[o]<<"学校"<<"  "<<hang[o]<<"班级"<<"  "<<"考号为"<<cen[o]<<" "<<hang[o]<<" "<<lie[o]<<"的考生,他的高考成绩为"<<x[o]<<"分"<<endl;
            l=0;
       }
       q=y;
      }
     }
     while(d!=3);
     return 0;
    }

  • 相关阅读:
    针对.NET开发者的NuoDB 1.1发布
    用于.NET的可移植HTTP客户端
    Mono Libgdiplus库
    基于Bootstrap Metro 界面风格开发框架 MetroBootstrap
    对C# 程序员来说现在是到目前为止最好的时代
    Xamarin Evolve 2013
    Visual Studio 必备可视化插件推荐
    SQL Server 2008 R2 SP2官方下载地址
    ASP.NET Web API对OData的支持
    在CentOS 6.3下安装OpenPetra 的 Mono 3.0.6 部署包
  • 原文地址:https://www.cnblogs.com/zzkgis/p/3742604.html
Copyright © 2011-2022 走看看