输入整型二维数组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.0000.889   1.000   0.778   0.556   0.3331.500   2.500   1.000   0.500   0.0001.500   2.500   3.000   1.000   2.0000.111   0.222   0.333   0.556   1.000代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C程序如下:
#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;
}