题目:学员日常管理—分数排名安排日常上课座位系统

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值