Description
有一个n行n列的二维数组,n以及数组中的所有数据均由键盘输入,求主对角线之上(右上方)所有数据之和
Input
输入n(2<=n<=10)的值,以及二维数组所有元素的值
Output
输出题目要求的数值
Sample Input
Sample Output
#include<stdio.h>
int main()
{
int n;
int i,j,a[10][10],sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
sum+=a[i][j];
printf("%d\n",sum);
return 0;
}
Description
由键盘给一个3行4列的二维数组输入数据,然后找出每行中的最大数及其位置
Input
输入12个整数
Output
输出每行的最大数及其行列号
Sample Input
Sample Output
#include<stdio.h>
int main()
{
int a[3][4],i,j,m,p,q;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
m=a[i][0];
p=i+1;
q=1;
for(j=0;j<4;j++)
if(a[i][j]>m)
{
m=a[i][j];
p=i+1;
q=j+1;
}
printf("%d:%d,%d\n",m,p,q);
}
return 0;
}
Description
键盘输入9个整数存入3行3列的二维数组中,请找出最大值和最小值(最大值和最小值都只有一个),并将它们分别交换到各自对称的位置。若最大数或最小数在主对角线上,则不需要交换,在原位置不动。
解释:
1、主对角线:下面的数据中,“1,5,9”所处的一条线就是主对角线。
1 2 3
4 5 6
7 8 9
2、所谓对称位置,是相对于主对角线而言的。例如:上面9个数中,2和4对称,6和8对称,3和7对称
Input
输入9个整数
Output
输出交换后数组中的数据,共三行,每行三个数据,相邻两个数据之间用1个空格隔开
#include<stdio.h>
int main()
{
int a[3][3],i,j,max,min;
int k,s,m,n,p,q;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",(*(a+i)+j));
max=min=a[0][0];
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
{
if(a[i][j]>=max)
{
max=a[i][j];
k=i;
s=j;
}
if(a[i][j]<=min)
{
min=a[i][j];
m=i;