编程: (1)统计学生成绩: 设有10个学生的成绩分别为46、68、88、87、76、89、99、65、100和80分。试编制程序统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数,并存放到S5、S6、S7、S8、S9及S10单元中。
时间: 2023-11-01 11:07:14 浏览: 161
编程序实现设有10个学生的成绩分别为85、62、64、79、82、99、100、78、88、86,试编制一个子程序统计60~69分,70~79分 ,80~89分,90~99分及100分的人数,分别存放到S6,S7,S8,S9及S10单元中。
4星 · 用户满意度95%
下面是统计学生成绩的程序代码:
```c
#include <stdio.h>
int main() {
int scores[] = {46, 68, 88, 87, 76, 89, 99, 65, 100, 80}; // 定义数组存放成绩
int counts[] = {0, 0, 0, 0, 0, 0}; // 定义数组存放每个分数段的人数
int i;
// 统计每个分数段的人数
for (i = 0; i < 10; i++) {
if (scores[i] < 60) {
counts[0]++;
} else if (scores[i] < 70) {
counts[1]++;
} else if (scores[i] < 80) {
counts[2]++;
} else if (scores[i] < 90) {
counts[3]++;
} else if (scores[i] < 100) {
counts[4]++;
} else {
counts[5]++;
}
}
// 输出每个分数段的人数
printf("低于60分的人数:%d\n", counts[0]);
printf("60~69分的人数:%d\n", counts[1]);
printf("70~79分的人数:%d\n", counts[2]);
printf("80~89分的人数:%d\n", counts[3]);
printf("90~99分的人数:%d\n", counts[4]);
printf("100分的人数:%d\n", counts[5]);
// 存放到S5、S6、S7、S8、S9及S10单元中
int *p = &counts[0];
for (i = 5; i >= 0; i--) {
*((int *)(0xA000 + i)) = *p;
p++;
}
return 0;
}
```
该程序采用数组存放学生成绩,并通过遍历数组的方式统计每个分数段的人数,最后输出结果并将结果存储到指定的内存单元中。注意,由于题目要求将结果存储到指定的内存单元中,因此程序中需要使用指针和类型转换来实现。
阅读全文