grades

更新时间:2022-12-27 01:32:34 阅读: 评论:0


2022年12月27日发(作者:韩国综艺节目starking)

本程序初始化学生人数为3人,请在header文件中将#define

STU_NUM3改为#defineSTU_NUM你将输入的学生数目

Function.c

/*

学生成绩管理系统V1.0(使用数组)

功能要求:

1、输入学号和成绩(格式化输入)

2、计算平均成绩(求和统计)

3、按成绩从高到低排序(冒泡法、选择法)

4、按成绩从低到高排序(冒泡法、选择法)

5、按学号从小到大排序(冒泡法、选择法)

6、按学号查询成绩名次(顺序查找)

7、统计成绩分布(统计计数)

8、输出学号和成绩(格式化输出)

0、退出系统

*/

#include

#include

#include"header.h"

intmenu()

{

intresult;

while(1)

{

system("cls");

printf("学生成绩管理系统V1.0n");

printf("1输入学号和成绩n");

printf("2计算平均成绩n");

printf("3按成绩从高到低排序n");

printf("4按成绩从低到高排序n");

printf("5按学号从小到大排序n");

printf("6按学号查询成绩名次n");

printf("7统计成绩分布n");

printf("8输出学号和成绩n");

printf("0退出系统n");

if(scanf("%d",&result)!=1)

{

fflush(stdin);

continue;

}

if(result>=0&&result<=8)

break;

}

return(result);

}

/*

1111111

*/

voidinput(longnumbers[],doublegrades[],intN)

{

inti;

printf("请输入%d个学生的学号与成绩n",N);

printf("**********************************************n");

for(i=0;i<=N-1;i++)

{

printf("请输入第%d位学生的学号与成绩n",i+1);

scanf("%ld%lf",&numbers[i],&grades[i]);

}

}

/*

22222222222222222222222222222222222222222

*/

doubleaverages(doublegrades[],intN)

{

doubletotal,average;

inti;

total=0;

for(i=0;i<=N-1;i++)

total+=grades[i];

average=total/N;

return(average);

}

/*

333333333333333333333333333333333333333333

*/

voidgradesdown(longnumbers[],doublegrades[],intN)

{

inti,j;

longtnumbers;

doubletgrades;

for(i=1;i<=N-1;i++)

for(j=0;j<=N-1-i;j++)

if(grades[j]

{

tgrades=grades[j+1];

grades[j+1]=grades[j];

grades[j]=tgrades;

tnumbers=numbers[j+1];

numbers[j+1]=numbers[j];

numbers[j]=tnumbers;

}

}

/*

44444444444444444444444444444444444444444

*/

voidgradesup(longnumbers[],doublegrades[],intN)

{

inti,j;

longtnumbers;

doubletgrades;

for(i=1;i<=N-1;i++)

for(j=0;j<=N-1-i;j++)

if(grades[j]>grades[j+1])

{

tgrades=grades[j+1];

grades[j+1]=grades[j];

grades[j]=tgrades;

tnumbers=numbers[j+1];

numbers[j+1]=numbers[j];

numbers[j]=tnumbers;

}

}

/*

55555555555555555555555555555555555555555

*/

voidnumbersup(longnumbers[],doublegrades[],intN)

{

inti,j;

longtnumbers;

doubletgrades;

for(i=1;i<=N-1;i++)

for(j=0;j<=N-1-i;j++)

if(numbers[j]>numbers[j+1])

{

tnumbers=numbers[j+1];

numbers[j+1]=numbers[j];

numbers[j]=tnumbers;

tgrades=grades[j+1];

grades[j+1]=grades[j];

grades[j]=tgrades;

}

}

/*

66666666666666666666666666666666666666666

*/

voidarch(longnumber,longnumbers[],doublegrades[],intN)

{

inti;

gradesdown(numbers,grades,N);

for(i=0;i<=N-1;i++)

if(numbers[i]==number)

{

printf("该考生的成绩为:%gn",grades[i]);

printf("该考生的名次为:%dn",i+1);

break;

}

}

/*

77777777777777777777777777777777777777777

*/

voidstatistics(doublegrades[],intN)

{

intA,B,C,D,E;

inti,mark;

A=B=C=D=E=0;

for(i=0;i<=N-1;i++)

{

mark=(int)(grades[i]/10);

switch(mark)

{

ca10:

ca9:

A++;

break;

ca8:

B++;

break;

ca7:

C++;

break;

ca6:

D++;

break;

ca5:

ca4:

ca3:

ca2:

ca1:

ca0:

E++;

break;

}

}

printf("A等级的学生有%d个n",A);

printf("B等级的学生有%d个n",B);

printf("C等级的学生有%d个n",C);

printf("D等级的学生有%d个n",D);

printf("E等级的学生有%d个n",E);

}

/*

88888888888888888888888888888888888888888

*/

voidoutput(longnumbers[],doublegrades[],intN)

{

inti;

printf("学号成绩n");

for(i=0;i<=N-1;i++)

printf("%10ld%10gn",numbers[i],grades[i]);

printf("n");

}

Mainfunction.c

/*

学生成绩管理系统V1.0(使用数组)

功能要求:

1、输入学号和成绩(格式化输入)

2、计算平均成绩(求和统计)

3、按成绩从高到低排序(冒泡法、选择法)

4、按成绩从低到高排序(冒泡法、选择法)

5、按学号从小到大排序(冒泡法、选择法)

6、按学号查询成绩名次(顺序查找)

7、统计成绩分布(统计计数)

8、输出学号和成绩(格式化输出)

0、退出系统

*/

#include

#include

#include

#include"header.h"

intmain()

{

longnumbers[STU_NUM];

longnumber;

doublegrades[STU_NUM];

doubleaverage;

intresult;

while(1)

{

result=menu();

switch(result)

{

/*

11111

*/

ca1:

printf("**************************************n");

printf("输入学号和成绩n");

printf("**************************************n");

input(numbers,grades,STU_NUM);

printf("**************************************n");

printf("输入完毕,按任意键继续n");

getch();

break;

/*

2222222222222222222222222222222222222222222222222

*/

ca2:

printf("**************************************n");

printf("计算平均成绩n");

printf("**************************************n");

average=averages(grades,STU_NUM);

printf("平均成绩为:%g分n",average);

printf("**************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

3333333333333333333333333333333333333333333333333333

*/

ca3:

printf("**************************************n");

printf("按成绩从高到低排序n");

printf("**************************************n");

gradesdown(numbers,grades,STU_NUM);

output(numbers,grades,STU_NUM);

printf("************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

4444444444444444444444444444444444444444444444444

*/

ca4:

printf("**************************************n");

printf("按成绩从低到高排序n");

printf("**************************************n");

gradesup(numbers,grades,STU_NUM);

output(numbers,grades,STU_NUM);

printf("************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

5555555555555555555555555555555555555555555555555

*/

ca5:

printf("**************************************n");

printf("按学号从小到大排序n");

printf("**************************************n");

numbersup(numbers,grades,STU_NUM);

output(numbers,grades,STU_NUM);

printf("************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

66666666666666666666666666666666666666666666666666

*/

ca6:

printf("**************************************n");

printf("按学号查询成绩名次n");

printf("**************************************n");

printf("请输入考生学号:n");

scanf("%ld",&number);

arch(number,numbers,grades,STU_NUM);

printf("**************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

77777777777777777777777777777777777777777777777777

*/

ca7:

printf("**************************************n");

printf("统计成绩分布n");

printf("**************************************n");

statistics(grades,STU_NUM);

printf("**************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

/*

888888888888888888888888888888888888888888888888

*/

ca8:

printf("**************************************n");

printf("输出学号和成绩n");

printf("**************************************n");

output(numbers,grades,STU_NUM);

printf("**************************************n");

printf("查询完毕,按任意键继续n");

getch();

break;

ca0:

printf("确定退出Y/N?n");

fflush(stdin);

if(getchar()=='Y')

{

printf("谢谢,欢迎再次使用n");

exit(0);

}

}

}

return0;

}

Header.h

/*

学生成绩管理系统V1.0(使用数组)

功能要求:

1、输入学号和成绩(格式化输入)

2、计算平均成绩(求和统计)

3、按成绩从高到低排序(冒泡法、选择法)

4、按成绩从低到高排序(冒泡法、选择法)

5、按学号从小到大排序(冒泡法、选择法)

6、按学号查询成绩名次(顺序查找)

7、统计成绩分布(统计计数)

8、输出学号和成绩(格式化输出)

0、退出系统

*/

#ifndef_STU_NUM_

#define_STU_NUM_

#defineSTU_NUM3

intmenu();

/*

1111111

*/

voidinput(longnumbers[],doublegrades[],intN);

/*

22222222222222222222222222222222222222222

*/

doubleaverages(doublegrades[],intN);

/*

333333333333333333333333333333333333333333

*/

voidgradesdown(longnumbers[],doublegrades[],intN);

/*

44444444444444444444444444444444444444444

*/

voidgradesup(longnumbers[],doublegrades[],intN);

/*

55555555555555555555555555555555555555555

*/

voidnumbersup(longnumbers[],doublegrades[],intN);

/*

66666666666666666666666666666666666666666

*/

voidarch(longnumber,longnumbers[],doublegrades[],intN);

/*

77777777777777777777777777777777777777777

*/

voidstatistics(doublegrades[],intN);

/*

88888888888888888888888888888888888888888

*/

voidoutput(longnumbers[],doublegrades[],intN);

#endif

本文发布于:2022-12-27 01:32:34,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/37323.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:harbinger
标签:grades
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图