C语言编程:定义一个4行5列的二维整型数组,随机为每个元素赋值,找出其中最小值及所在下标,怎么写?

输出形式:a[x][y]=d,x、y是行列下标,d是最小值。若有多个最小值,只输出最前面的元素。

先初始化随机数发生器,然后为二维整型数组赋值,赋值的时候,顺便就用打擂台的方法找出最小数,找到最小数以后就更新记录它的下标,循环结束的时候,输出下标和最小数的值。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{ int i,j,i0=0,j0=0,a[4][5];

  srand(time(0));

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

  { for(j=0; j<5; j++)

    { a[i][j]=rand()%100+1;

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

      if(a[i][j]<a[i0][j0])

      { i0=i;

        j0=j;

      }

    }

    printf("\n");

  }

  printf("最小值是a[%d][%d]=%d\n",i0,j0,a[i0][j0]);

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-10

代码文本:

#include "stdio.h"

#include <stdlib.h>

#include "time.h"

int main(int argc,char *argv[]){

int a[4][5],i,j,ii,jj;

srand((unsigned)time(NULL));

for(ii=jj=i=0;i<4;i++){

for(j=0;j<5;j++){

if((a[i][j]=rand()%1000)<a[ii][jj])

ii=i,jj=j;

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

}

putchar('\n');

}

printf("\nThe MIN is a[%d][%d]=%d\n",ii,jj,a[ii][jj]);

return 0;

}

本回答被提问者和网友采纳
相似回答