二维数组处理(一)

输入整型二维数组a(5行5列),完成如下要求:

输出二维数组a。

将a的第2行和第4行元素对调后,形成新的二维数组a并按行输出,每个元素之间隔一个空格。(行号从0开始计算)。

用对角线(指二维数组左上角到右下角的对角线)上的元素分别去除相应行的各元素,形成一个新的双精度型二维数组b并输出,每个输出占8列,输出到小数点后3位。

输入格式:

一个5行5列的整型二维数组

输出格式:

题目要求的各个输出

输入样例:

复制代码
10 20 30 40 50
8 9 7 5 3
1 2 3 5 9
3 5 6 2 4
3 5 2 1 0

输出样例:

复制代码
10 20 30 40 50 
8 9 7 5 3 
1 2 3 5 9 
3 5 6 2 4 
3 5 2 1 0 
10 20 30 40 50 
8 9 7 5 3 
3 5 2 1 0 
3 5 6 2 4 
1 2 3 5 9 
   1.000   2.000   3.000   4.000   5.000
   0.889   1.000   0.778   0.556   0.333
   1.500   2.500   1.000   0.500   0.000
   1.500   2.500   3.000   1.000   2.000
   0.111   0.222   0.333   0.556   1.000

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

cs 复制代码
#include <stdio.h>

int main(void)
{
    int a[5][5];
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j ++)
        {
            scanf("%d ", &a[i][j]);
        }
    }
    for(int i = 0; i < 5; i ++)
    {
        for(int j = 0; j < 5; j++)
        {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    int temp[5];
    for(int j = 0; j < 5; j++)
    {
        temp[j] = a[2][j];
     }
    for(int j = 0; j < 5; j++)
    {
        a[2][j] = a[4][j];
        a[4][j] = temp[j];
    }
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    double b[5][5];
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            b[i][j] = (double)a[i][j] / a[i][i];
        }
    }
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            printf("%8.3lf", b[i][j]);
        }
        printf("\n");
    }
    return 0;
}
相关推荐
进击的荆棘2 分钟前
数据结构与算法——排序
数据结构·算法·排序算法
量子炒饭大师9 分钟前
David自习刷题室——【蓝桥杯刷题备战】乘法表
c语言·c++·git·职场和发展·蓝桥杯·github·visual studio
roman_日积跬步-终至千里11 分钟前
【模式识别与机器学习(14)】K-means算法中K值确定教程
算法·机器学习·kmeans
一只乔哇噻15 分钟前
java后端工程师+AI大模型进修ing(研一版‖day59)
java·开发语言·算法·语言模型
天赐学c语言16 分钟前
12.2 - LRU缓存 && C语言内存布局
c++·算法·lru·内存布局
2301_7890156218 分钟前
C++:list(带头双向链表)增删查改模拟实现
c语言·开发语言·c++·list
学习路上_write23 分钟前
FREERTOS_定时器——创建和基本使用
c语言·开发语言·c++·stm32·嵌入式硬件
秋深枫叶红23 分钟前
嵌入式第二十六篇——数据结构双向链表
c语言·数据结构·学习·链表
_OP_CHEN23 分钟前
【算法基础篇】(二十三)数据结构之并查集基础:从原理到实战,一篇吃透!
数据结构·算法·蓝桥杯·并查集·算法竞赛·acm/icpc·双亲表示法