打印总分与各科成绩单




#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;
}

时间: 2024-12-27 22:38:07

打印总分与各科成绩单的相关文章

统计出每个班级的总分和平均分

1 package collection.map; 2 3 4 public class Student { 5 private String name; 6 private String classNo; 7 private double score; 8 9 10 public Student(String name, String classNo, double score) { 11 super(); 12 this.name = name; 13 this.classNo = clas

10-数组

一.数组 数组是一系列相同数据类型的集合. Int  31  28  31  30  31  30  31  31  30  31  30  31 一个数组里面每一个元素的变量名是相同的,数组下标.数组下标都是从0开始的. int month[12];   //声明数组  数组的下标是 month[0]-month[11] 数组的存放,都是连续一块内存. 1.数组的初始化 数据类型  数组名[数组的大小]:   声明数组 初始化: a.在声明数组的同时用{}来赋值,用逗号分隔,用分号结束. in

结构体和枚举

结构体:在内存中临时存储数据的方式1.变量.常量2.数组,可以存储固定长度统一类型的数据3.集合4.结构体 结构体含义:就是将生活中的一些个体,封装成一个特殊的类型 结构体是:用户自定义数据类型 创建:创建的位置:main函数之外struct Student{ public int Code; public string Name; public string Sex; public int Old; public DateTime Birthday;} 定义:声明Student s = new

cololection

package cn.bjsxt.col; /** * 简化迭代器原理 * hasNext * next * @author Administrator * */ public class MyArrayList { private String[] elem ={"a","b","c","d","e","f","g"}; private int size = ele

Java学习lesson 15

*Set集合 一个包含重复的元素collection,并且最多包含一个null元素,此类实现Set接口,有哈希表支持,Java中的预定义类型如String.Integer都可以在集合内使用:但对于自己创建的类型是,要注意到Set 需要一种方式来维护存储顺序,而存储顺序如何维护,则是在Set的不同实现间会有所变化.因此,不同的Set实现不仅具有不同的行为,而且他们对于可以在特定是我Set抓狂那个放置的元素类型也有不同要求 继承自Collection集合,哈希表通过它的自实现类HashSet集合实例

List 集合总和案例

案例01: 有五名学生[张三,李四,王五,赵六,马七]每个学生有五门科目[语文.数学.英语.物理.化学],为这5位同学随机生成5门考试的成绩[成绩介于50-100间] 需求:按照均分的倒序打印出成绩的明细 import random # student_name 存储学生姓名 student_name = ["张三", "李四", "王五", "赵六", "马七"] # student_result 存储所

第六天T3S02

***************************************************************************** 方法 数组*****************************************************************************今日内容:1.返回值的方法2.方法第递归调用 3.数组 ---数据结构 方法:面向过程的语言 C 函数想想对象的语言 java 方法public void 方法名([参数列表]) 

01-用链式结构打印学生成绩单

用链式结构打印学生成绩单 #include <iostream> using namespace std; struct StScore { std::string id; int math; int english; int computer; struct StScore* next; }; int main() { StScore first; first.id = "C"; first.math = 80; first.english = 85; first.com

学生各科成绩,平均分,总分的展示

建表如下所示 sql语句以及显示如下