复制
收藏
提问
简洁

某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了n位观众(1≤n≤1000),现要求编写C语言程序,输入每一位观众的投票情况(每位观众只能选择一个最喜欢的栏目投票),统计输出各栏目的得票情况。 输入格式: 输入在第1行中给出一个正整数n(1≤n≤1000),第2行输入n个整数,其间以空格分隔。 输出格式: 按顺序输出所有8个栏目的编号和得票数,每个数占4位,每行输出一个栏目的编号和得票数。 输入样例: 10 3 4 7 6 3 9 2 3 1 8 输出样例: 1 1 2 1 3 3 4 1 5 0 6 1 7 1 8 1 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB

4月前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些

根据题目要求,我们需要编写一个C语言程序来统计并输出电视台8个栏目的得票情况。程序需要接收观众的投票数据,并按照指定格式输出每个栏目的编号和得票数。以下是详细的解答步骤和代码实现:

输入输出格式

  • 输入格式:第一行输入一个正整数n(1≤n≤1000),表示观众的数量;第二行输入n个整数,表示观众的投票,每个整数之间用空格分隔123
  • 输出格式:按顺序输出所有8个栏目的编号和得票数,每个数占4位,每行输出一个栏目的编号和得票数1234

代码实现

#include <stdio.h>

int main() {
    int n, i, vote;
    int votes[8] = {0}; // 初始化得票数组,用于存储每个栏目的得票数

    // 读取观众数量
    scanf("%d", &n);

    // 读取观众投票,并更新得票数组
    for (i = 0; i < n; i++) {
        scanf("%d", &vote);
        if (vote >= 1 && vote <= 8) { // 确保投票在1到8之间
            votes[vote - 1]++; // 更新对应栏目的得票数
        }
    }

    // 输出每个栏目的编号和得票数
    for (i = 0; i < 8; i++) {
        printf("%d %d\n", i + 1, votes[i]);
    }

    return 0;
}

代码解释

  1. 首先,我们定义了一个votes数组,用于存储每个栏目的得票数,初始值都为0。
  2. 通过scanf函数读取观众数量n
  3. 接着,我们使用一个循环读取每位观众的投票,并更新votes数组中对应栏目的得票数。这里我们检查投票值是否在1到8之间,以确保它是一个有效的栏目编号。
  4. 最后,我们使用另一个循环按顺序输出每个栏目的编号和得票数,编号从1开始,得票数通过votes数组获取。

注意事项

  • 确保输入的投票数据是有效的,即每位观众的投票在1到8之间。
  • 输出格式要求每个数占4位,这里我们使用printf的格式化输出功能来实现。
  • 代码长度、时间和内存限制均在题目要求的范围内。567
你觉得结果怎么样?
C语言投票统计程序设计
C语言数组和循环使用
如何用C语言实现投票系统
C语言输入输出格式控制
C语言字符串处理技巧
C语言程序内存限制问题

以上内容由AI搜集生成,仅供参考

在线客服