首页 > 其他分享 >747. 数组的左上半部分

747. 数组的左上半部分

时间:2022-10-15 23:07:33浏览次数:48  
标签:上半 747 int 8.8 7.7 数组 9.1 6.2


文章目录

Question

输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的左上半部分元素的平均值或元素的和。

左上半部分是指次对角线上方的部分,如下图所示,黄色部分为对角线,绿色部分为左上半部分:

747. 数组的左上半部分_浮点数

输入格式
第一行输入一个大写字母,若为 S,则表示需要求出左上半部分的元素的和,若为 M,则表示需要求出左上半部分的元素的平均值。

接下来 12 行,每行包含 12 个用空格隔开的浮点数,表示这个二维数组,其中第 i+1 行的第 j+1 个数表示数组元素 M[i][j]。

输出格式
输出一个数,表示所求的平均数或和的值,保留一位小数。

数据范围
−100.0≤M[i][j]≤100.0
输入样例:
M
-0.4 -7.7 8.8 1.9 -9.1 -8.8 4.4 -8.8 0.5 -5.8 1.3 -8.0
-1.7 -4.6 -7.0 4.7 9.6 2.0 8.2 -6.4 2.2 2.3 7.3 -0.4
-8.1 4.0 -6.9 8.1 6.2 2.5 -0.2 -6.2 -1.5 9.4 -9.8 -3.5
-2.3 8.4 1.3 1.4 -7.7 1.3 -2.3 -0.1 -5.4 -7.6 2.5 -7.7
6.2 -1.5 -6.9 -3.9 -7.9 5.1 -8.8 9.0 -7.4 -3.9 -2.7 0.9
-6.8 0.8 -9.9 9.1 -3.7 -8.4 4.4 9.8 -6.3 -6.4 -3.7 2.8
-3.8 5.0 -4.6 2.0 4.0 9.2 -8.9 0.5 -3.9 6.5 -4.3 -9.9
-7.2 6.2 -1.2 4.1 -7.4 -4.6 4.7 -0.4 -2.2 -9.1 0.4 -5.8
9.1 -6.4 9.2 0.7 10.0 -5.7 -9.7 -4.4 4.7 4.7 4.9 2.1
-1.2 -6.2 -8.2 7.0 -5.3 4.9 5.5 7.2 3.4 3.2 -0.2 9.9
-6.9 -6.2 5.1 8.5 7.1 -0.8 -0.7 2.7 -6.0 4.2 -8.2 -9.8
-3.5 7.7 5.4 2.8 1.6 -1.0 6.1 7.7 -6.5 -8.3 -8.5 9.4
输出样例:
-0.8

Ideas

注意浮点数精度

Code

// 调整浮点数精度:(s + 1e-6) / n);
#include <iostream>
#include <cstdio>
#define N 12


using namespace std;

int main()
{
char c;
float M[N][N];
double s = 0.0;
int n = 0;


cin >> c;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
cin >> M[i][j];
if ((i + j) <= 10)
{
s += M[i][j];
n ++;
}
}
}
if (c == 'S')
printf("%.1lf", s);
else
printf("%.1lf", (s + 1e-6) / n);
return 0;
}


标签:上半,747,int,8.8,7.7,数组,9.1,6.2
From: https://blog.51cto.com/u_14608932/5759356

相关文章

  • javascript 数组
    javascript数组文章目录​​javascript数组​​​​1.简介​​​​2.创建数组​​​​3.访问数组​​​​4.数组方法和属性​​​​5.创建新方法​​​​6.实例​​......
  • 1441. 用栈操作构建数组
    1441.用栈操作构建数组给你一个数组target和一个整数n。每次迭代,需要从 list={1,2,3...,n}中依次读取一个数字。请使用下述操作来构建目标数组targ......
  • DS | 一维数组 & 二维数组 & 对称矩阵 & 三角矩阵 & 三对角矩阵地址的计算
    一维数组的地址计算设每个元素的大小是\(size\),首元素的地址是\(a[1]\),则a[i]=a[1]+(i-1)*size若首元素的地址是\(a[0]\)则a[i]=a[0]+i*size二维数组的地......
  • 初识C语言(2)——数组、操作符、关键字
    ......
  • 用栈操作构建数组
    给你一个数组target和一个整数n。每次迭代,需要从 list={1,2,3...,n}中依次读取一个数字。请使用下述操作来构建目标数组target:"Push":从list中读取一个......
  • 零一背包问题,滚动数组实现
    其实最难理解的内循环,也就是j的循环。j的条件是大于w[i],而w[i]则是当前第i个物品的重量,则j是一在从背包容量,向j-w[i]靠近。j-w[i]就是剩下来的空间,而这一波操作......
  • 校验数组是否为空
    校验数组是否为空constisNotEmpty=arr=>Array.isArray(arr)&&!!arr.length;isNotEmpty([1,2,3]);//Result:true回到顶部functiontopFunction(){d......
  • 对象数组:用于维护类的多个对象
    对象数组创建数组,来维护多个对象。将对象存到数组的语法:类名[]数组名=new类名[];例如:Studentstu1=newStudent();Studentstu2=newStudent();Studentstu3=new......
  • C语言习题:数组与选择排序、冒泡排序
    题目1.选择法排序。输入一个正整数n(1<n≤10),再输入n个整数,将它们从大到小排序后输出。试编写相应程序。2.冒泡法排序。输入一个正整数n(1<n≤10),再输入n个整数,将它们从......
  • leetcode1480.一维数组的动态和
    1.题目描述给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。2.示例示例1:输入:nums=[1,2,3,4]输......