酷代码 AI
菜单
服务商

7-3 sdut-C语言实验-选票统计 分数 10 作者 马新娟 单位 山东理工大学 某校学生会主席由全校学生投票选举产生,共有m名候选人报名参选,编号为1到m(0<m<1000),全校有n名学生(0<n<30000),每人都可以投票。但每人只能投一票,每票只能选1名候选人。请你设计一个程序能够统计出哪个候选人得票最高,得了多少票。不会出现得票数相同的情况。 输入格式: 第一行输入候选人数m和学生数n,以空格分开; 下面依次输入每个学生所选的候选人的编号。 输出格式: 第一行输出得票最多的候选人编号; 第二行输出该候选人所得的票数。 输入样例: 3 10 1 2 3 2 3 1 2 3 1 3 输出样例: 3 4 用C语言写

```c #include <stdio.h> int main() { int m, n; // 输入候选人数m和学生数n scanf("%d %d", &m, &n); // 用于存储每个候选人的得票数,初始化为0 int votes[1000] = {0}; int candidate; for (int i = 0; i < n; i++) { // 输入每个学生所选候选人的编号 scanf("%d", &candidate); // 对应候选人的得票数加1 votes[candidate - 1]++; } int maxVotes = 0; int winner; for (int i = 0; i < m; i++) { if (votes[i] > maxVotes) { // 更新最大得票数 maxVotes = votes[i]; // 记录得票最多的候选人编号 winner = i + 1; } } // 输出得票最多的候选人编号 printf("%d\n", winner); // 输出该候选人所得的票数 printf("%d\n", maxVotes); return 0; } ``` [2025-12-25 15:27:42 | AI问答 | 281点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多