C语言编写一个程序,模拟选举过程,共有 n 个人参加选举,如候选人有 4 位,分别用数字1、2、3、4 编号,选举某位候选人时直接从键盘上输入编号,如果输入其他字符无效。选举结果按得票多少顺序输出候选人的编号和票数
时间: 2024-04-01 14:35:06 浏览: 20
这个问题我已经回答过了,您可以看一下上面的回答。以下是另一个示例程序,它也可以实现您的需求:
```c
#include <stdio.h>
int main() {
int n, candidate[4] = {0}; // n为参选人数,candidate数组用来记录每个候选人的得票数
printf("请输入参选人数:");
scanf("%d", &n);
printf("请依次输入候选人编号进行投票(其他字符为无效投票):\n");
for (int i = 0; i < n; i++) {
int num;
scanf("%d", &num);
switch (num) { // 判断输入是否为有效编号
case 1:
candidate[0]++;
break;
case 2:
candidate[1]++;
break;
case 3:
candidate[2]++;
break;
case 4:
candidate[3]++;
break;
default:
break;
}
}
// 冒泡排序
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3 - i; j++) {
if (candidate[j] < candidate[j + 1]) {
int temp = candidate[j];
candidate[j] = candidate[j + 1];
candidate[j + 1] = temp;
}
}
}
// 输出结果
printf("选举结果如下:\n");
for (int i = 0; i < 4; i++) {
printf("候选人 %d: %d 票\n", i + 1, candidate[i]);
}
return 0;
}
```
上面的代码中,我们使用一个名为 `candidate` 的数组来记录每个候选人的得票数。在投票过程中,我们使用 switch 语句来判断输入是否为有效编号,并将相应候选人的得票数加1。最后,我们使用冒泡排序将得票数从高到低排序,并输出候选人的编号和票数。
希望这个程序能够满足您的需求。如果您有其他问题,欢迎随时提出。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)