要求:某电视台要调查观众对编号1-8的频道进行调查,共调查了5位观众(原题中为1000位观众,为了运行时测试及统计方便,现已改成5位观众),每个观众只能在编号1-8的频道中选择一个频道,并且只能投一票。现在请你编写程序,输入每个观众的投票情况,统计输出每个频道最终的票数。
#include <stdio.h>
#define M 5 //投票的人数,每人只能投一票
main()
{
int i,response;
int count[9];//定义一个数组,用来记录票数
for(i=1;i<=8;i++)
count[i]=0;//将数组所有元素全部赋值为零
for(i=1;i<=M;i++)//通过人数决定循环次数
{
printf("输入投票编号: ");
scanf("%d", &response); //输入投票的编号 (1-8)
if(response>=1 && response<=8)
count[response]++;//为投票编号的票数+1
else
printf("投票编号为%d,此票作废!\n",response);
}
printf("投票结果:(编号/票数) \n");
for(i=1;i<=8;i++)//输出每个编号和票数
printf("编号: %d 票数: %d\n" ,i,count[i]);
}
这五位观众的投票编号分别是5,3,2,1,2
投票结束后,编号1的票数为1,编号2的票数为2,编号3的票数1,编号5的票数为1,其余编号的票数均为0