golang二维字符数组_OJ题目解析 | 二维数组&字符数组

4ba7d2be52aa039c426c027691950e95.png

01.计算鞍点

dff734055e19fa27725087dde983de8d.png

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

 {

  max[i] = a[i][0];//最大值初始化为行首项

  for (j = 0; j <= 4; j++)

  {

   if (a[i][j] > max[i])

   {

    max[i] = a[i][j];

    d = j;//记下列数

   }

  }//寻找同行最大值

  min = a[0][d];//最小值初始化为列首项

  for (b = 0; b <= 4; b++)

  {

   if (a[b][d] < min)

   {

    min = a[b][d]; 

    e = b;//记下行数

   }

  }

  if (e == i) //若位置相同则输出鞍点

{printf("%d %d %d",e+1,d+1,a[e][d]);}

  else c = c + 1;

  d = 0;

  e = 0;

 }

 if (c == 5) printf("not found");

02.反转字符数组元素

ef73d7ae269bacaaba0fd615fe24e51d.png

gets(str);//键入数组

int len, i;

len = strlen(str);//会用到

char temp;

for (i = 0; i <= len-i-1; i++)

{

temp = str[i];

str[i] = str[len - 1 - i];

str[len - 1 - i] = temp;

}

printf("%s", str);

03.交换矩阵指定的行

b08f03b5f79740944b402a9b0c82a083.png

int m, n, temp;

scanf("%d %d",&m,&n);//键入要交换的两行数

for (j = 0; j <= 4; j++)

{

temp = a[m-1][j];

a[m-1][j] = a[n-1][j];

a[n-1][j] = temp;

}

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

{

for (j = 0; j <= 4; j++)

{

if (j <= 3)

printf("%d ", a[i][j]);

else

printf("%d\n", a[i][j]);//输出时,每行最后一位后无空格

}

}

04.附加题-最大子数组

7b1a82a5cd1290f5e6f998df6be0a388.png

int max= a[0];

int len, sum;

int m, n;//m为首项,n为末项

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

{

 for (len = 1;len<10-i;len++)

 {

sum = 0;

for (j = i; j < i + len; j++)

 {

sum += a[j];

}

if (max < sum)

 {

max = sum;

m = i;

n = len + i - 1;

 }

}

}

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

{

printf("%d ",a[i]);

}

printf("%d", max);

6062b1edb7ba831a75f2208842a077fb.png

下期见!

475a43e2d7367f95ea977add37fd988b.gif 902277629986aa836f512a7ee00d472c.png

 南 开 软 件

职业发展部出品

文案&排版|吴祎璠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值