7-10 N05_二维数组_A_2020美国大选Trump VS Biden (10 分) 作者: bluish 时间: 2021-04-18 分类: 未分类 题目 2020年美国大选如火如荼的进行中,美国共和党和民主党作为两个主要政党分别推出Trump和Biden作为候选人. 但其实还有其他党派或无党派候选人若干.假设共有候选人M人.美国大选实现选举人制度,其要点如下: 每个州作为单独计票单位,每个州有特定的选举人票; 在该州获得选票最多的候选人获胜!且赢者通吃,就是由在该州获胜的候选人独得该州的选举人票. 统计每个候选人获得的选举人票,选举人票最多者当选总统! (程序不需要考虑选票数目相同的特殊情况,即候选人在同一个州选票各不相同) 假设美国2020选举共有M(<=20)个候选人,美国共有N个州(N<=100). 由你来编写程序统计选票并给出大选获胜者. ---------- input: 第1行:输入候选人人数M,州数目N (M<=20,N<=100); 第2 ~ N+1行:输入每个州的选举人票数以及每位候选人的得票数(每个州占一行,每行1+M个整数); output: 输出:获胜的候选人序号(总统候选人的序号从1开始到M结束) input: 2 6 10 9000 900 8 800 700 70 12345 70567 6 5678 604 50 123450 70567 8 5678 6040 output: 90.00 80.00 70.00 60.00 75.00 75.00 2 2 输入格式 第1行:输入候选人人数M,州数目N (M<=20,N<=100); 第2 ~ N+1行:输入每个州的选举人票数以及每位候选人的得票数(每个州占一行,每行1+M个整数); 输出格式 输出:获胜的候选人序号(总统候选人的序号从1开始到M结束) 输入样例 2 6 10 9000 900 8 800 700 70 12345 70567 6 5678 604 50 123450 70567 8 5678 6040 输出样例 2 代码 #include<stdio.h> int main(){ int m,n; scanf("%d %d",&m,&n); int score[m][n]; int renshu[n]; int piaoshu[m]; int max=0,max_n=0; int win=0,win_n=0; int a=0; for(int i=0;i<m;i++){ piaoshu[i]=0; } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a==0){ scanf("%d",&renshu[i]); a=1; } scanf("%d",&score[j][i]); } a=0; } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(score[j][i]>max){ max=score[j][i]; max_n=j; } } piaoshu[max_n]=piaoshu[max_n]+renshu[i]; max=0; max_n=0; } for(int i=0;i<m;i++){ if(piaoshu[i]>win){ win=piaoshu[i]; win_n=i; } } printf("%d",win_n+1); } 7-10 N05_二维数组_A_2020美国大选Trump VS Biden (10 分) http://bluish.net/archives/764/ 作者 bluish 发布时间 2021-04-18 许可协议 CC BY-SA 4.0 复制版权信息 标签: 程序