7-1 求二维数组周边元素的累加和 分数 15
求一个二维数组周边元素的累加和。
输入一个二维数组的行数m(m<10),列数n(n<10),二维数组的各元素值。输出周边元素之和。
输入格式:
输入的第一行为矩阵的行数和列数,从第二行开始,为矩阵元素的输入。
输出格式:
输出周边元素之和。
输入样例:
在这里给出一组输入。例如:
3 4
1 2 3 4
5 6 7 8
1 2 3 4
输出样例:
在这里给出相应的输出。例如:
33
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d", &a, &b);
int i,j, sum=0;
int A[10][10];
for(i=0;i<a;i++)
for(j=0;j<b;j++)
scanf("%d", &A[i][j]);
for(i=0;i<a;i++)
for(j=0;j<b;j++){
if(i==0||i==a-1)
sum+=A[i][j];
else{
sum+=A[i][0]+A[i][b-1];
break;
}
}
printf("%d", sum);
return 0;
}
7-2 矩阵转置 分数 20
将一个3×3矩阵转置(即行和列互换)。
输入格式:
在一行中输入9个小于100的整数,其间各以一个空格间隔。
输出格式:
输出3行3列的二维数组,每个数据输出占4列。
输入样例:
1 2 3 4 5 6 7 8 9
输出样例:
1 4 7
2 5 8
3 6 9
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main(){
int N, i, j;
int A[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d", &A[i][j]);
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%4d", A[j][i]);
putchar('\n');
}
return 0;
}
7-3 方阵左下三角元素的和 分数 20
输入一个4×4数组,求一个4×4数组左下三角(包括主对角线)元素的和。
输入格式:
输入4行4列的方阵,每行第一个数前没有空格,每行的每个数之间各有一个空格。
输出格式:
直接输出左下三角(包括主对角线)元素的和。没有其它任何附加字符
输入样例:
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
输出样例:
46
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main(){
int N,i,j, sum=0;
int A[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d", &A[i][j]);
for(i=0;i<4;i++)
for(j=0;j<=i;j++)
sum+=A[i][j];
printf("%d", sum);
return 0;
}
7-4 以矩阵的形式输出二维数组 分数 10
本题要求编写程序,先对一个m×n的二维数组赋值,数组元素的值为其行下标和列下标之和,再按照矩阵的形式输出该二维数组。
输入格式:
输入在一行内给出两个正整数m和n(1≤m,n≤6),其间以空格分隔。
输出格式:
按照矩阵的形式输出该二维数组,每个数占4位。
输入样例:
3 4
输出样例:
0 1 2 3
1 2 3 4
2 3 4 5
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main(){
int m,n, i, j;
scanf("%d %d", &m, &n);
for(i=0;i<m;i++){
for(j=i;j<i+n;j++)
printf("%4d", j);
putchar('\n');
}
return 0;
}
7-5 杨辉三角 分数 20
求杨辉三角的前n行数据。
输入格式:
输入n(n<10)值。
输出格式:
输出杨辉三角的前n行数据,每个数据占4列。
输入样例:
5
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main(){
int N,i,j;
int A[10][10]={1};
scanf("%d", &N);
for(i=0;i<N;i++){
for(j=0;j<=i;j++){
if(j==0)
A[i][j]=1;
else if(i==0)
break;
else
A[i][j]=A[i-1][j-1]+A[i-1][j];
}
}
for(i=0;i<N;i++){
for(j=0;j<=i;j++)
printf("%4d", A[i][j]);
putchar('\n');
}
return 0;
}