队列列求和——题目描述
计算理工学院的老师让同学们排成了一个 n×m 的长方形队列,每一个同学手里都拿了一个捐款袋,袋子里面有一定数量的硬币。
现已知所有同学的捐款袋里面的钱数,数值为实数,单位:元。要求输出每一列同学捐款袋里面的钱数的和。
输入格式
输入共有 n+1 行:
第一行有两个整数 n,m 分别表示长方形队列中的学生行、列数( 0 <n,m≤30)
之后 n 行每行有 m 个由空格分隔的实数,分别表示长方形队列中对应位置同学身上捐款袋里面的钱数(大于等于 0,小于 200),单位:元。
输出格式
输出共有 n 行,每行一个实数,为每一列所有同学捐款袋里面的钱数总和(结果保留一位小数)。
样例输入:
2 3
1.2 2.3 3.4
2.3 4.1 2.3
样例输出:
3.5
6.4
5.7
#include <iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
double a[35][35];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for (int j = 0; j < m; j++) {
double sum = 0.0;
for (int i = 0; i < n; i++) {
sum += a[i][j];
}
printf("%.1f\n", sum);
}
return 0;
}
double 用于浮点数,printf("%.1f\n", sum)中的“%。1f”是保留输出四舍五入为一位小数,\n是换行符。