用c语言实现以下问题:共有 10 名候选人,每个人的代号分别是 1 - 10 。 每个学生填写一张选票,若同意某名候选人( 只能选一个 ) 则在其姓名后面画圆圈。编写一个程序,根据所有选票统计 出每位候选人所得的票数,其中每张选票上所投候选人的代 号从键盘输入,当输入完所有选票后,用 - 1 作为数据输入结 束的标志
时间: 2023-05-31 12:07:32 浏览: 80
很高兴回答你的问题!以下是用 C 语言实现计票的程序:
```
#include <stdio.h>
int main() {
int counts[11] = {0}; // 所有候选人的得票数,初始化为 0
int candidate;
printf("请输入候选人的代号(1-10),以 -1 结束输入:\n");
while (scanf("%d", &candidate) == 1 && candidate != -1) {
if (candidate < 1 || candidate > 10) {
printf("输入有误,请重新输入:\n");
continue;
}
counts[candidate]++;
}
printf("每位候选人所得的票数如下:\n");
for (int i = 1; i <= 10; i++) {
printf("候选人 %d 得了 %d 票\n", i, counts[i]);
}
return 0;
}
```
如果有其他问题请随时问我哟!
相关问题
用c语言编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩
以下是用C语言编写的程序,可以实现输入10个学生的6门课成绩,并分别求出每个学生的平均成绩。
```c
#include <stdio.h>
#define NUM_STUDENTS 10
#define NUM_COURSES 6
int main() {
int grades[NUM_STUDENTS][NUM_COURSES];
int i, j;
float avg;
// 输入每个学生的6门课成绩
for (i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d个学生的6门课成绩:\n", i + 1);
for (j = 0; j < NUM_COURSES; j++) {
scanf("%d", &grades[i][j]);
}
}
// 计算每个学生的平均成绩
for (i = 0; i < NUM_STUDENTS; i++) {
avg = 0.0;
for (j = 0; j < NUM_COURSES; j++) {
avg += grades[i][j];
}
avg /= NUM_COURSES;
printf("第%d个学生的平均成绩为:%.2f\n", i + 1, avg);
}
return 0;
}
```
这个程序中,我们使用了一个二维数组来存储每个学生的6门课成绩。程序首先通过嵌套的for循环,让用户输入每个学生的6门课成绩。然后,再通过另一个for循环,计算每个学生的平均成绩,并输出结果。
用c语言编写程序如下:有3个候选人,每个选民只能投票选一个人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出个人得票结果。
这是一个技术问题,我可以回答。你可以在C语言中使用数组来存储被选人的名字和得票数,然后使用循环语句和条件语句来对选票进行统计和计算,最终输出个人得票结果。以下是一个简单的示例程序:
```
#include <stdio.h>
#define MAX_CANDIDATES 3
int main() {
char candidates[MAX_CANDIDATES][20] = {"Candidate A", "Candidate B", "Candidate C"};
int votes[MAX_CANDIDATES] = {0};
for (int i = 0; i < MAX_CANDIDATES; i++) {
printf("Enter the name of candidate #%d: ", i+1);
scanf("%s", candidates[i]);
}
printf("Please enter your votes (1 for Candidate A, 2 for Candidate B, 3 for Candidate C):\n");
for (int i = 0; i < MAX_CANDIDATES; i++) {
int vote;
printf("Vote %d: ", i+1);
scanf("%d", &vote);
if (vote > 0 && vote <= MAX_CANDIDATES) {
votes[vote-1]++;
}
}
printf("Individual vote results:\n");
for (int i = 0; i < MAX_CANDIDATES; i++) {
printf("%s - %d votes\n", candidates[i], votes[i]);
}
return 0;
}
```
请注意,此示例程序中的候选人名字和得票数均是硬编码的,您也可以使用文件等其他方式来动态获取候选人名字。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.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)