#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
int id[25],ch[25];
int luru();
int order();
int zw();
int suiji();
int main()
{
printf("学生座位管理系统\n");
printf("按学号录入学生成绩----1\n");
printf("查看学生分数排名------2\n");
printf("按排名座位示意图------3\n");
printf("随机排座位示意图------4\n");
printf("退出系统--------------0\n");
printf("\n按相应的数字键操作\n");
int n;
scanf("%d",&n);
while(1)
{
if(n==1) luru();
else if(n==2) {
order(); }
else if(n==3) zw();
else if(n==4) suiji();
else if(n==0) {break;};
system("pause");
system("cls");
printf("按学号录入学生成绩----1\n");
printf("查看学生分数排名------2\n");
printf("按排名座位示意图------3\n");
printf("随机排座位示意图------4\n");
printf("退出系统--------------0\n");
printf("\n按相应的数字键操作\n");
printf("请选择你需要的操作:");
scanf("%d",&n);
}
return 0;
}
int luru()
{
int i;
printf("请输入25名同学的学号和成绩\n");
for(i=0;i<=24;i++)
{
printf("请输入学号:");
scanf("%d",&id[i]);
printf(" 成绩:");
scanf("%d",&ch[i]);
}
return 0;
}
//函数名 order
//功能 按名次输出
//需要参数 不
//需要返回值 不
int order()
{
int t1,t2,i,j;
for(i=0;i<=23;i++)
{
for(j=i+1;j<=24;j++)
{
if(ch[i]<ch[j])
{
t1=ch[i];
ch[i]=ch[j];
ch[j]=t1;
t2=id[i];
id[i]=id[j];
id[j]=t2;
}
}
}
printf("排名 学号 成绩\n");
int i1;
for(i1=0;i1<=24;i1++)
{
printf("%2d %2d %d\n",i1+1,id[i1],ch[i1]);
}
return 0;
}
//函数名 zw
//功能 按分数名次排座
//需要参数 不
//需要返回值 不
int zw()
{
int i;
int hang,lie;
printf("按分数名次排座\n");
i=0;
for(hang=1;hang<=5;hang++)
{
for(lie=1;lie<=5;lie++)
{
printf("第%2d名:学号%2d ",25-i,id[i]);
i++;
}
printf("\n");
}
return 0;
}
//函数名 suiji
//功能 随机排座位
//需要参数 不
//需要返回值 不
int suiji()
{
srand(time(NULL));
int hang,lie,i,j,n,m;
int a[25],b[26]={0};
m=rand()%25+1;
a[0]=m;
b[m]=1;
for(i=1;i<=24;i++)
{
do
{
m=rand()%25+1;
}
while(b[m]!=0);
b[m]=1;
a[i]=m;
}
i=0;
for(hang=1;hang<=5;hang++)
{
for(lie=1;lie<=5;lie++)
{
printf("学号:%2d ",a[i]);
i++;
}
printf("\n");
}
return 0;
}