题目:有编号为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;}}