c語言陣列問題
阿新 • • 發佈:2018-12-20
陣列中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); }