选票统计。10张选票,三名候选人,编号分别是
1、2、3,统计每个候选人的得票数。
测试数据如下:
输入10张选票中选中候选人的编号:2 3 1 2 3 3 2 3 2
1号候选人的得票数为:1
2号候选人的得票数为:4
3号候选人的得票数为:4
定义3个元素的数组,初始为0,如果输入1,则第一个元素值加1
#include <stdio.h>
int main()
{
int num[3] = {0};
int i,n;
for(i=0;i<10;i++)
{
scanf("%d",&n);
num[n-1]++;
}
for(i=0;i<3;i++)
printf("%d号候选人的得票数为:%d\n",i+1,num[i]);
}
需要的,使用switch也是要循环的,因为有十张选票,所以要循环遍历。
用switch只会将代码复杂化,可以这样写:
#include <stdio.h>
int main()
{
int n = 10;
printf("输入10张选票中选中候选人的编号: ");
int tmp;
int num[3] = { 0 };
while (n > 0)
{
scanf_s("%d", &tmp);
if (tmp > 0 && tmp <= 3)
num[tmp - 1]++;
n--;
}
for (tmp = 0; tmp < 3; tmp++)
{
printf("%d号候选人的得票数为:%d\n", tmp + 1, num[tmp]);
}
return 0;
}
如果对您有用,望采纳。