• 语法基础(数组)



    作者:进击攻城狮
    个人主页:欢迎访问我的主页
    首发时间:2022年8月20日星期六
    订阅专栏:刷题
    个人信条:星光不问赶路人,岁月不负有心人。
    如果文章有错误,欢迎在评论区指正。
    🎉 支持我:点赞👍+收藏⭐️+留言📝

    在这里插入图片描述


    745. 数组的右上半部分

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

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

    UOJ_1183.png

    输入格式

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

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

    输出格式

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

    数据范围

    −100.0≤M[i][j]≤100.0−100.0≤M[i][j]≤100.0

    输入样例:
    M
    -6.5 8.2 0.7 9.0 0.8 -4.3 0.9 -0.0 -7.9 7.1 -1.6 4.6
    -9.4 -9.0 1.5 -9.0 -5.1 -0.5 -2.8 -9.1 8.0 -6.9 -5.5 -6.6
    -6.8 0.3 3.8 6.1 -9.9 -9.3 8.5 8.6 5.0 6.9 -3.6 -3.0
    -0.8 -1.6 -7.3 -6.7 4.4 -9.1 -9.0 1.6 0.3 -6.0 6.0 -0.8
    -0.8 -6.0 -4.9 -3.9 6.4 6.2 -4.2 -0.9 7.9 1.6 -8.2 -9.2
    7.8 -5.8 -5.8 -5.8 7.2 0.5 -7.9 1.2 -6.8 -9.1 0.3 -1.4
    4.3 -7.2 3.5 -6.4 -9.1 -6.0 3.5 -5.1 -5.6 -6.9 -9.1 -2.1
    -7.6 -7.1 0.7 -1.7 5.0 -9.0 1.4 -6.2 7.6 4.8 -7.5 4.0
    -0.2 0.3 -4.2 8.4 0.7 -6.4 -2.7 3.5 -0.9 3.7 0.9 -2.7
    7.1 0.1 8.4 -5.1 -7.9 -0.5 -5.3 -5.7 -4.6 9.6 -8.3 7.0
    9.6 -9.8 3.3 -9.9 -6.8 6.7 3.1 1.2 -9.5 -4.3 -1.7 -9.7
    1.8 5.0 8.3 -0.7 -0.9 3.2 2.5 0.5 7.3 8.3 0.3 0.9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    输出样例:
    -1.2
    
    • 1
    #include
    using namespace std;
    int main(){
        double a[12][12];
       
        double sum=0,ans=0;
        char k;
          cin>>k;
        for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
            cin>>a[i][j];
        }
        }
    for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
                if(j>i)
                sum+=a[i][j];
           
            }
        }
       
     if(k=='S')
       printf("%.1lf\n",sum);
        if(k=='M')
     printf("%.1lf\n",sum/66);
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    747. 数组的左上半部分

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

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

    UOJ_1185.png

    输入格式

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

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

    输出格式

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

    数据范围

    −100.0≤M[i][j]≤100.0−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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    输出样例:
    -0.8
    
    • 1
    #include
    using namespace std;
    int main(){
        double a[12][12];
       
        double sum=0,ans=0;
        char k;
          cin>>k;
        for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
            cin>>a[i][j];
        }
        }
    for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
                if(j+i<=10)
                sum+=a[i][j];
           
            }
        }
       
     if(k=='S')
       printf("%.1lf\n",sum);
        if(k=='M')
     printf("%.1lf\n",sum/66);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    749. 数组的上方区域

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

    数组的两条对角线将数组分为了上下左右四个部分,如下图所示,黄色部分为对角线,绿色部分为上方区域:

    UOJ_1187.png

    输入格式

    第一行输入一个大写字母,若为 S,则表示需要求出上方区域的元素的和,若为 M,则表示需要求出上方区域的元素的平均值。

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

    输出格式

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

    输出结果与标准答案据对误差不超过 0.10.1 即视为正确。

    数据范围

    −100.0≤M[i][j]≤100.0−100.0≤M[i][j]≤100.0

    输入样例:
    S
    -4.8 -8.0 -2.9 6.7 -7.0 2.6 6.5 1.7 1.9 5.6 -1.6 -6.3
    -4.3 1.5 8.7 -0.3 5.4 -9.3 4.8 7.0 3.6 -8.3 -1.0 1.3
    -9.9 9.7 -6.3 5.8 2.9 2.9 -7.7 4.9 -0.6 7.2 6.4 7.7
    2.8 -5.8 -0.0 2.2 4.0 7.7 -3.0 -7.5 -3.5 9.7 -4.3 -8.6
    -1.8 -0.1 5.4 0.6 9.9 -3.7 -1.1 0.8 -0.2 -0.0 9.9 4.5
    3.0 -3.9 2.1 -9.7 5.5 9.4 -4.6 3.3 -9.6 5.1 -4.5 1.5
    4.3 -5.4 -7.9 9.2 -7.7 -9.6 -1.5 -1.6 -7.2 2.0 -3.7 -0.7
    8.0 2.8 -4.1 7.1 8.4 -5.6 3.9 -9.7 -1.1 3.0 -8.5 -3.3
    1.7 5.1 0.1 9.2 4.5 9.7 7.2 8.6 8.7 1.1 6.7 0.3
    -3.6 -7.1 -8.9 7.1 -5.9 1.6 -7.4 6.7 3.9 4.3 -2.4 -3.7
    8.9 -6.2 5.0 -8.6 -1.3 -8.8 2.6 8.9 5.5 9.0 -2.2 -4.4
    5.7 3.7 1.8 -2.1 -7.3 -7.9 4.7 6.0 3.3 -2.8 1.4 -6.9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    输出样例:
    21.7
    
    • 1
    #include
    using namespace std;
    int main(){
        double a[12][12];
       
        double sum=0,ans=0;
        char k;
          cin>>k;
        for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
            cin>>a[i][j];
        }
        }
    for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
                if(j+i<=10&&j>i)
                sum+=a[i][j];
           
            }
        }
       
     if(k=='S')
       printf("%.1lf\n",sum);
        if(k=='M')
     printf("%.1lf\n",sum/30);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    751. 数组的左方区域

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

    数组的两条对角线将数组分为了上下左右四个部分,如下图所示,黄色部分为对角线,绿色部分为左方区域:

    UOJ_1189.png

    输入格式

    第一行输入一个大写字母,若为 S,则表示需要求出左方区域的元素的和,若为 M,则表示需要求出左方区域的元素的平均值。

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

    输出格式

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

    数据范围

    −100.0≤M[i][j]≤100.0−100.0≤M[i][j]≤100.0

    输入样例:
    S
    4.7 -3.3 -2.3 4.5 -7.0 8.7 -4.1 -3.0 -7.6 6.3 -6.6 -4.7
    -7.2 9.3 -7.6 9.1 9.2 9.0 5.5 -7.5 -9.3 -1.6 -3.5 -4.2
    0.5 -7.5 -8.3 -9.0 -6.4 3.8 0.1 -3.5 7.9 2.1 2.4 -6.2
    7.0 5.7 -9.0 -5.8 1.6 2.6 -9.2 -6.2 4.6 8.2 -8.3 -1.4
    3.8 -9.9 6.2 -2.5 -3.5 9.4 1.6 7.0 3.3 -0.5 6.7 6.0
    1.6 -3.8 5.0 8.8 4.2 7.7 0.7 7.4 7.9 -5.9 4.4 3.3
    3.7 6.2 6.7 -1.4 6.1 -6.0 8.5 9.1 5.7 -4.2 5.9 -3.5
    5.0 0.3 2.2 -3.6 6.3 -10.0 9.5 -4.7 2.7 8.1 7.5 -8.4
    -5.7 -0.3 -3.7 -3.3 7.7 9.3 -1.3 1.0 0.3 1.9 9.9 9.0
    -7.4 1.3 -9.6 -3.6 2.2 3.4 -3.6 3.5 8.3 0.5 9.7 -6.8
    1.0 -2.7 -1.5 5.4 -6.5 -3.7 5.6 8.0 -9.9 0.1 2.2 7.6
    5.6 4.3 1.5 -0.8 5.8 -5.1 5.5 6.2 -5.8 8.8 -0.6 -2.3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    输出样例:
    13.3
    
    • 1
    #include
    using namespace std;
    int main(){
        double a[12][12];
       
        double sum=0,ans=0;
        char k;
          cin>>k;
        for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
            cin>>a[i][j];
        }
        }
    for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
                if(j+i<=10&&j<i)
                sum+=a[i][j];
           
            }
        }
       
     if(k=='S')
       printf("%.1lf\n",sum);
        if(k=='M')
     printf("%.1lf\n",sum/30);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
  • 相关阅读:
    基于C语言的使用checksum进行差错检测
    vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能
    保序回归与金融时序数据
    Instagram Shop如何开通?如何销售?最全面攻略
    用 Java 实现阻塞队列
    获取文件编码
    View绘制流程-Vsync信号是如何发送和接受的
    【Vue2】Vant使用Vant Area Data中国省市区数据保姆级教程 Vue2移动端项目实战vant组件 area组件
    基于Nodejs+vue开发实现酒店管理系统
    阿里图标库在旧有的iconfont中添加新的图标
  • 原文地址:https://blog.csdn.net/yi_chen_c/article/details/126444534