用c语言做,尽量用指针。 .学生成绩统计 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩 30
用c语言做,尽量用指针。.学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:(1)统计不及格人数并打印...
用c语言做,尽量用指针。
.学生成绩统计
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:
(1)统计不及格人数并打印不及格学生名单;
(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
(3)统计各分数段的学生人数及所占的百分比。
第2学期第2次实验
二维数组和函数综合编程练习
1.成绩排名次
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
【思考题】 请读者思考如下问题。
① 如果增加一个要求:要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢?
② 如果要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢?
第2学期第3次实验
二维数组和函数综合编程练习
3.用指向二维数组第0行第0列元素的指针作为函数参数,编写一个计算任意m行n列二维数组中元素的最大值,并指出其 所在的行列下标值的函数,利用该函数计算3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。
第2学期第4次实验
4.洗牌和发牌程序模拟
用4*13的二维数组poker [4][13]表示一副牌,行表示花色,譬如第一行表示红心,第二行表示方片,列表示牌的面值,第0列到第9列对应到“A”到9,第10列到第12列对应“J”“Q”“K”。洗牌过程如下,每次随机从二维数组中抽中一个牌,一共抽取52次,每次抽中的牌要不同,如果抽中已经抽过的牌,要继续抽。
如果第一次抽牌,就把数1送到到数组元素poker [row][column](row(0到3的随机数)和column(0到12的随机数))中表示这张牌将是洗好的牌中发出的第1张牌,以此类推,把数2、3。。。。。52插入到数组poker中。序号1到52最终会分给数组poker中的52张牌,最后打印出洗好的牌
随机数的用法参考如下:
x = rand() % 10 /* rand() % 10可以产生一个随机数,随机数的范围在0到9之间的整数,x 的值是一个0到9之间的随机整数,10也可以换成其他数,随之随机数的范围也变化*/
srand(time(NULL));// #include <stdlib.h> #include <time.h>
x = rand() % 10; 展开
.学生成绩统计
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:
(1)统计不及格人数并打印不及格学生名单;
(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
(3)统计各分数段的学生人数及所占的百分比。
第2学期第2次实验
二维数组和函数综合编程练习
1.成绩排名次
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
【思考题】 请读者思考如下问题。
① 如果增加一个要求:要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢?
② 如果要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢?
第2学期第3次实验
二维数组和函数综合编程练习
3.用指向二维数组第0行第0列元素的指针作为函数参数,编写一个计算任意m行n列二维数组中元素的最大值,并指出其 所在的行列下标值的函数,利用该函数计算3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。
第2学期第4次实验
4.洗牌和发牌程序模拟
用4*13的二维数组poker [4][13]表示一副牌,行表示花色,譬如第一行表示红心,第二行表示方片,列表示牌的面值,第0列到第9列对应到“A”到9,第10列到第12列对应“J”“Q”“K”。洗牌过程如下,每次随机从二维数组中抽中一个牌,一共抽取52次,每次抽中的牌要不同,如果抽中已经抽过的牌,要继续抽。
如果第一次抽牌,就把数1送到到数组元素poker [row][column](row(0到3的随机数)和column(0到12的随机数))中表示这张牌将是洗好的牌中发出的第1张牌,以此类推,把数2、3。。。。。52插入到数组poker中。序号1到52最终会分给数组poker中的52张牌,最后打印出洗好的牌
随机数的用法参考如下:
x = rand() % 10 /* rand() % 10可以产生一个随机数,随机数的范围在0到9之间的整数,x 的值是一个0到9之间的随机整数,10也可以换成其他数,随之随机数的范围也变化*/
srand(time(NULL));// #include <stdlib.h> #include <time.h>
x = rand() % 10; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询