1. 程式人生 > >c語言陣列問題

c語言陣列問題

陣列中a[i][j]代表第i+1行的第j+1個數

定義陣列時以下面的問題為例a[5][5]代表生成一個5*5的大小的矩陣

而引用時切記第一行第一個數為a[0][0]以此類推

隨機生成一個[5][5]的陣列,使第一行與第五行調換位置,並找到此行的最大值或最小值

#include<time.h> 
#include<stdio.h> 
#include<stdlib.h> 
void main()
{ 
	int random;//生成的隨機數
	int i,j;//行和列
	int temp;//第一行和第五行數值交換的中間變數
	int max;//存放目前為止此行最大的數值的變數
	int raw,column;//存放行和列的數值
	int a[5][5];
	system("cls");
	srand(time(0));
 printf("隨機生成的陣列a為:\n");
 for(i=0;i<5;i++)
 {
  for(j=0;j<5;j++) 
  {
   random=rand()%101+0;//101代表101個隨機數,0代表從來開始生成 
   a[i][j]=random;
   printf("%12d",a[i][j]);
  }
  printf("\n");//輸出隨機生成的陣列
 }
 printf("第一行與第五行調換後的陣列:\n");
 for(j=0;j<5;j++)
 {temp=a[0][j];
  a[0][j]=a[4][j];
  a[4][j]=temp;
 }//完成第一行和第五行的互換
 for(i=0;i<5;i++) {
     for(j=0;j<5;j++) printf("%12d",a[i][j]); //輸出交換後的陣列
      printf("\n");
 }
 for(i=0;i<5;i++){
        max=a[i][0];
        for(j=1;j<5;j++){
            if(a[i][j]>max)/*只需在此位置加入continue;即可找到最小值因為只要大於初始值得值都會跳出迴圈結束*/{
                max=a[i][j];
            }
        }
        printf("第%d行最大值:%d\n",i+1,max);
    }