【锐格】数据结构-数组、串与广义表

本文最后更新于:2021年10月24日 晚上

数组

4198

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
29
#include <stdio.h>

int main()

{

int n;

scanf("%d",&n);

int i,k,t;

for(i=0; i<n; i++)

{

t=i%n; // 确定该拉丁方阵第i行的第一个元素的值

for(k=0; k<n; k++) // 按照环的形式输出该行中的各个元素

printf("%d ",(k+t)%n+1);

printf("\n");

}

return 0;

}

4197

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<stdio.h>
int main()
{
int n,a[100][100],r,c,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
int sum[100]={0};
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
sum[i]+=a[i][j];
}
for(i=0;i<n;i++)
{
int min;
min=i;
for(j=i+1;j<=n-1;j++)
{
if(sum[j]<sum[min])
min=j;
}//返回sum中最小元素的下标
if(i!=min)
{
//对原数组进行转换
for(c=0;c<n;c++)
{
int temp1;
temp1=a[min][c];
a[min][c]=a[i][c];
a[i][c]=temp1;
}
//对sum进行转换
int temp;
temp=sum[i];
sum[i]=sum[min];
sum[min]=temp;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}