选票统计

题目:有编号为1到9的候选人参加投票选举,每张选票填三个候选人,当选票出现有零时结束计票,现要求编写程序统计每位候选人得票数。
比较下面两种编程方法。
方法一:

#include <iostream>
using namespace std;

int main(){
	int cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0,cnt6=0,cnt7=0,cnt8=0,cnt9=0; //初值置零
	int i;
	while(cin>>i,i){          //逗号运算,返回最后项。
		//cout<<i;
		switch(i)
		{
		case 1:cnt1++;
			break;
		case 2:cnt2++;
			break;
		case 3:cnt3++;
			break;
		case 4:cnt4++;
			break;
		case 5:cnt5++;
			break;
		case 6:cnt6++;
			break;
		case 7:cnt7++;
			break;
		case 8:cnt8++;
			break;
		case 9:cnt9++;
			break;
		}
		//cin>>i;
	}
	cout<<"1号得票:"<<cnt1<<"  ";
	cout<<"2号得票:"<<cnt2<<"  ";
	cout<<"3号得票:"<<cnt3<<endl;
	cout<<"4号得票:"<<cnt4<<"  ";
	cout<<"5号得票:"<<cnt5<<"  ";
	cout<<"6号得票:"<<cnt6<<endl;
	cout<<"7号得票:"<<cnt7<<"  ";
	cout<<"8号得票:"<<cnt8<<"  ";
	cout<<"9号得票:"<<cnt9;
	return 0;
}

方法二:

#include <iostream>
using namespace std;

int main()
{
	int cnt[10]={0};
	int i;
	while(cin>>i,i) cnt[i]++;
	for(i=1;i<=9;i++)
	{
		cout<<i<<"号得票:"<<cnt[i] <<"张   ";
		if(i%3==0) cout<<endl;
	}
 } 
posted @ 2026-01-03 16:56  gdyyx  阅读(7)  评论(0)    收藏  举报