#include?stdio.h?
聞喜ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
int?main(void)?{
int?arr[3][4];
int?max,min;?/*記錄最大值與最小值*/
int?mini=0,minj=0,maxi=0,maxj=0;?/*記錄最大值與最小值的坐標(biāo)*/
int?i,j,temp;
printf?("請(qǐng)輸入矩陣內(nèi)容(3行4列):\n");
for?(i=0;i3;i++)
for?(j=0;j4;j++)
scanf?("%d",arr[i][j]);
max=arr[0][0];
min=arr[0][0];
for?(i=0;i3;i++)?{
for?(j=0;j4;j++)
if(arr[i][j]max)?{
maxi?=?i;
maxj?=?j;
}
if(arr[i][j]min)?{
mini?=?i;
minj?=?j;
}
}
printf?("原矩陣最小值為arr[%d][%d]=%d;最大值為arr[%d][%d]=%d。\n",mini,minj,arr[mini][minj],maxi,maxj,arr[maxi][maxj]);
temp?=?arr[mini][minj];?/*交換最小值與最大值*/
arr[mini][minj]?=?arr[maxi][maxj];
arr[maxi][maxj]?=?temp;
printf?("最小值與最大值交換后矩陣:\n");
for?(i=0;i3;i++)?{
for?(j=0;j4;j++)
printf?("%d\t",arr[i][j]);
printf?("\n");
}
return?0;
}
運(yùn)行結(jié)果
找到最大和最小值的下標(biāo),交換,例如:
#include stdio.h
main()
{
int a[10]={10,2,3,4,5,6,7,8,9,10},n=10;
int i1,i2,i;
i1=0;
for (i=0;in;i++)if (a[i]a[i1]) i1=i;
i2=0;
for (i=0;in;i++)if (a[i]a[i2]) i2=i;
i=a[i1]; a[i1]=a[i2];a[i2]=i;
for (i=0;in;i++) printf("%d ",a[i]);
return 0;
}
擴(kuò)展資料:
在C語(yǔ)言中, 數(shù)組屬于構(gòu)造數(shù)據(jù)類(lèi)型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類(lèi)型或是構(gòu)造類(lèi)型。因此按數(shù)組元素的類(lèi)型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類(lèi)別。
關(guān)于可變長(zhǎng)數(shù)組(VLA)的問(wèn)題:原來(lái)的C89標(biāo)準(zhǔn)中是不允許可變長(zhǎng)數(shù)組出現(xiàn)的,但是在C99標(biāo)準(zhǔn)中,加入了對(duì)VLA的支持,但是支持的編譯器不多,而且由于棧溢出的安全問(wèn)題,沒(méi)有太多的人敢用這個(gè)可變長(zhǎng)數(shù)組,所以在C11標(biāo)準(zhǔn)中又把它規(guī)定為可選實(shí)現(xiàn)的功能了。
參考資料來(lái)源:百度百科-數(shù)組
兩個(gè)for循環(huán)里面的數(shù)組賦值把數(shù)組的數(shù)據(jù)搞得亂起八糟的,for里面為啥要賦值?第二,max和min最后永遠(yuǎn)等于n-1,if不用大括號(hào)根本作用不到max=i、min=i。如果只是簡(jiǎn)單的最大和最小值交互,非常的簡(jiǎn)單,循環(huán)一遍,直接記住最大和最小值所在下標(biāo),最后再做交換。兩遍循環(huán)浪費(fèi)時(shí)間。