要求:某电视台要调查观众对编号1-8的频道进行调查,共调查了5位观众(原题中为1000位观众,为了运行时测试及统计方便,现已改成5位观众),每个观众只能在编号1-8的频道中选择一个频道,并且只能投一票。现在请你编写程序,输入每个观众的投票情况,统计输出每个频道最终的票数。
#include#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 票数: %dn" ,i,count[i]); }
这五位观众的投票编号分别是5,3,2,1,2
投票结束后,编号1的票数为1,编号2的票数为2,编号3的票数1,编号5的票数为1,其余编号的票数均为0



