二维数组,嵌套循环,控制台输入输出
#include<iostream> using namespace std; /* 功能:统计A国row天内所获得金银铜牌及总奖牌数,以一个空格分开 思路: 1 获取控制台的数字 2 使用二维数组存储接收到的数字 3 计算金银铜牌及总奖牌数 */ int main(){ int row; //row代表天数 cin >> row; //cout << row; //int col = 3; //int medals[3][3] = {{1,0,3},{3,1,0},{0,3,0}}; // golds=4,silvers=4,bronzes=3 //int medals[3][3] = {3,2,3,3,2,3,3,2,3}; // golds=9,silvers=6,bronzes=9 int medals[row][3]; char ch; if ((ch=getchar())=='\n') { char c; while((c=getchar())!='\n') { if(c>='0'&&c<='9') { ungetc(c,stdin); for(int k = 0;k < row;k++) { for(int l = 0; l < 3;l++) { cin>>medals[k][l]; } } } } } int i,j; int total; for(i = 0;i < 3;i++) { // 控制列 /* for(j = 0;j < 3;j++) { cout << medals[i][j] << " "; if(j / 2 == 1) { cout << endl; } } */ //cout << i << endl; int sum = 0; for(j = 0;j < row;j++) { // 控制行 sum += medals[j][i]; total += medals[j][i]; } cout << sum << " "; } /* int m,n; for (m = 0;m < 3;m++) { for(n = 0;n < 3;n++) { total += medals[m][n]; } } */ cout << total << endl; //cout << sum << endl; //total = golds + silvers + bronzes; //cout << golds << " " << silvers << " " << bronzes << " " << total << endl; return 0; }
测试结果: