用c语言编写程序,现有n个学生被召集来以打分的形式来评价学生食堂饭菜的质量,其中 1≤n≤1000。分数的范围是 1 到 10,1 分表示非常糟糕,10 分表示非常满意。编程序统计每个分数段的投票人数。 【输入形式】 输入数据为两行,第一行为整数 n,表示共有 n 个学生参加投票。第二行为 n 个整数,为每个学生的投票结果。 【输出形式】 输出每个分数段投票的人数统计,第一列占 6 位,第二列占 17 位。 【样例输入】 10 10 9 7 1 10 2 6 7 4 4 【样例输出】 Rating Frequency 1 1 2 1 3 0 4 2 5 0 6 1 7 2 8 0 9 1 10 2
时间: 2024-01-01 21:03:48 浏览: 35
好的,以下是用 C 语言编写的程序,可以实现你所需的功能:
```c
#include <stdio.h>
int main() {
int n, rating;
int freq[11] = {0}; // 初始化为 0
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &rating);
freq[rating]++;
}
printf("%-6s%-17s\n", "Rating", "Frequency");
for (int i = 1; i <= 10; i++) {
printf("%-6d%-17d\n", i, freq[i]);
}
return 0;
}
```
程序的思路是:首先读入 n 和每个学生的投票结果,然后统计每个分数的投票人数,最后按照格式输出结果。
程序中用到了一个数组 `freq`,用来统计每个分数的投票人数。数组的下标表示分数,数组的值表示投票人数。由于分数的范围是 1 到 10,因此数组的长度为 11,可以用下标从 1 到 10 来表示分数。
程序中的格式化输出使用了 printf 函数和格式化字符串。其中,%-6d 表示输出一个整数,并占用 6 个字符的宽度,左对齐;%-17d 表示输出一个整数,并占用 17 个字符的宽度,左对齐。在格式化字符串中,通过 \n 实现换行。
以上程序可以实现你所需的功能,希望能对你有所帮助!
相关问题
c语言用char sex[N]用来储存一个班级N个学生的性别,编写程序求男女生比例
好的,根据你的要求,我可以用 C 语言编写一个程序来求男女生比例。程序如下所示:
```c
#include <stdio.h>
int main() {
char sex[100];
int count_male = 0, count_female = 0, i;
printf("请输入班级学生的性别(男用 M 表示,女用 F 表示):\n");
fgets(sex, 100, stdin);
for (i = 0; sex[i] != '\0'; i++) {
if (sex[i] == 'M') {
count_male++;
} else if (sex[i] == 'F') {
count_female++;
}
}
printf("这个班级中男生占比 %.2f%%,女生占比 %.2f%%。\n", count_male * 100.0 / (count_male + count_female), count_female * 100.0 / (count_male + count_female));
return 0;
}
```
程序中使用了一个字符数组 `sex` 来存储班级学生的性别,然后遍历整个数组,每当遇到一个 'M' 或 'F' 时就将对应的计数器加 1。最后输出男女生占比即可。
注意,程序中使用了 `fgets()` 函数来接收输入的性别信息,这个函数可以避免输入过长导致数组越界的问题。在计算占比时,要注意使用浮点数运算以避免整数除法的误差。
使用c语言编写程序,输入n个整数存入一维数组,统计其中的正数、负数和零的个数
以下是使用C语言编写的程序,可以实现输入n个整数存入一维数组,统计其中的正数、负数和零的个数:
```c
#include <stdio.h>
int main() {
int n, i, positive = 0, negative = 0, zero = 0;
printf("请输入要输入的整数个数:");
scanf("%d", &n);
int nums[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
if (nums[i] > 0) {
positive++;
} else if (nums[i] < 0) {
negative++;
} else {
zero++;
}
}
printf("正数个数:%d\n", positive);
printf("负数个数:%d\n", negative);
printf("零的个数:%d\n", zero);
return 0;
}
```
程序先要求输入要输入的整数个数n,然后定义一个长度为n的整数数组nums来存放输入的n个整数。接着通过for循环依次输入n个整数,并统计其中正数、负数和零的个数。最后输出统计结果即可。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)