將乙個5x5的矩陣中最大的元素放在中心,4個角分別放4個最小的元素(順序為從左到右,從上倒下依次從小到大存放),寫一函式實現它!
#include
int main()
return 0;
}void change(int *p)
temp=*(p+12);//將*(p+12)的值儲存到temp;(p+12)是該矩陣的中心元素;序號從0算起;
*(p+12)=*pmax;//將最大值賦值給中心元素;
*pmax=temp;//將儲存的值寫入到*pmax中,此時pmax值等於p+5*i+j;
temp=*p;
*p=*pmin;
*pmin=temp;//將儲存的值寫入到*pmin中,此時pmin值等於p+5*i+j;
pmin=p+1;//*p已經比較過的,不需要在比較所以指標加一!
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j))) //排除第乙個最小的數的位址指標!比較其他數的最小值!
pmin=p+5*i+j;//不能*pmin=*(p+5*i+j)賦值,在此的意思是指標移動到最小位置;
//*(p+4)=*pmin;
//*pmin=temp;
temp=*pmin;
*pmin=*(p+4);//此時pmin=p+1;此時存放交換的資料;
*(p+4)=temp;
pmin=p+1;//*(p+4)已經比較過的,不需要在比較所以指標加一!
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&(*pmin>*(p+5*i+j)))
pmin=p+5*i+j;//不能*pmin=*(p+5*i+j)賦值,在此的意思是指標移動到最小位置;
//temp=*(p+20);
//*(p+20)=*pmin;
//*pmin=temp;
temp=*pmin;
*pmin=*(p+20);//此時pmin=p+1;此時存放交換的資料;
*(p+20)=temp;
pmin=p+1;//*(p+20)已經比較過的,不需要在比較所以指標加一!
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&((p+5*i+j)!=(p+20))&&(*pmin>*(p+5*i+j)))
pmin=p+5*i+j;//不能*pmin=*(p+5*i+j)賦值,在此的意思是指標移動到最小位置;
//temp=*(p+24);
//*(p+24)=*pmin;
//*pmin=temp;
temp=*pmin;
*pmin=*(p+24);//此時pmin=p+1;此時存放交換的資料;
*(p+24)=temp;
}
5X5矩陣調換!
將乙個5x5矩陣中最大的元素放在中心,4個角分別放4個最小的元素,寫一函式實現之!include int main printf n return 0 void change int p temp p 12 p 12 pmax pmax temp temp p p pmin pmin temp pm...
求5x5階螺旋方陣
實驗題目 求5x5階螺旋方陣 實驗目的 掌握陣列演算法設計 實驗內容 以下是乙個5x5階螺旋方陣。編寫程式,輸出該形式的nxn n 10 階方陣 順時針方向旋進 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 inc...
SQL大賽 5X5方格棋盤難題
盛拓傳媒杯 sql大賽第一期答題,本期題目 5x5方格棋盤難題 在5x5的方格棋盤中 如圖 每行 列 斜線 斜線不僅僅包括對角線 最多可以放兩個球,如何擺放才能放置最多的球,這樣的擺法總共有幾種?輸出所有的擺法。要求 用一句sql實現。輸出格式 從方格棋盤第一行至第5行,每行從第一列到第5列依次輸出...