C語言 將5 5的陣列中最大的元素放在中心,角分別放最小的元素

時間 2022-06-22 11:25:02

1樓:翱翔天空

這道題最簡單是先排序,再按要求存放,而用冒泡演算法排序,肯定是要重複交換的。

或者按下錶這個順序存放,不過要尋找數字和判斷上的規律。

int main(void)

}k=0;

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

}for(i=0;i<13;i++)}}

/*未完*/

2樓:匿名使用者

#include

#include

#include

typedef struct

n1;void sort(n1 a, int len)}int main(),,

,,};int temp = 0;

int sa = ;

int *p;

n1 b[25];

p = &a[0][0];

for (int i = 0; i < 25; i++)sort(b, 25);

p = &a[0][0];

//交換4個角

for (int i = 0; i < 4; i++)//交換中心

temp = p[12];

p[12] = p[b[24].index];

p[b[24].index] = temp;

for (int i = 0; i < 5; i++)printf("\n");

}return 0;}

3樓:草原上之狼

c**:

#include

void main()

,,,,};

int i,j;

printf("轉換前:\n");

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

change(a);/*呼叫函式*/

printf("轉換後:\n");

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

}void change(int x[5])for(i=0;i<24;i++)/*選擇排序法,對一維陣列中元素進行從小到大的排序*/

,,,,};

int i,j;

cout<<"轉換前:"<

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

change(a);/*呼叫函式*/

cout<<"轉換後:"<

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

return 0;

}void change(int x[5])for(i=0;i<24;i++)/*選擇排序法,對一維陣列中元素進行從小到大的排序*/

}for(i=0;i<5;i++)

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

if(x[i][j]==b[24])

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

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

if(x[i][j]==b[0])

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

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

if(x[i][j]==b[1])

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

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

if(x[i][j]==b[2])

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

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

if(x[i][j]==b[3])}

c語言 將乙個5x5的矩陣中最大的元素放在中心,4個角分別放4個最小的元素

4樓:海納百川文淵閣

這是假設次小的為第2個元素(下標為0,1),因為經過前邊的過程,第1個元素(下標為0,0的元素)已經放置了緊了整個陣列中的最小值,故找次小、第三小、第四小的應該從第2個元素找起,若沒有這一句,以後找到的次小、第三小、第四小將會被誤找成第1個元素。

用c語言程式設計:將乙個5×5的矩陣中最大的元素放在中心,四個角分別放4個最小的元素,用函式實現,用m

5樓:匿名使用者

%輸入:矩陣5*5 a。輸出:矩陣5*5 b。

%符號說明:矩陣a的元素下標用i,j表示,其中i=0,1,2,3,4;j=0,1,2,3,4.

%要做的事:將輸入矩陣進行位置移動,把a中最大的元素放到中間,即[2,2]的位置;把a中最小的元素放到四周,即[0,0],[4,4],[0,4],[4,0]

%解法:此問題有如下幾種情況:

%一:如果最小的元素是四個相同的值。

%二:如果最小的元素是三個相同的值。

%三:如果最小的元素是兩個相同的值。

%四:如果最小的元素是乙個值。

用c語言程式設計:將乙個5×5的矩陣中最大的元素放在中心,四個角分別放4個最小的元素

6樓:龔煒林

#include

#include

#include

void changearraydata(int *arrayaddress1, int *arrayaddress2);

int main( void)

;int i = 0, j = 0;

int *arraymax = 0, *arraymin[4] = ;

int temp = 0;

/*給陣列賦值*/

srand((unsigned long)time(0));

while(i <25)

*(*array + i++) = rand()%100;//100以內的隨機數

i = 0;

arraymax = array[0];

while(++i < 25)

if(arraymax != array[2] + 2)

//交換最大值

if(arraymin[0] != array[0])

//交換最小值

i = 1;

while(i < 25)

/*輸出*/

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

return 0;

函式功能: 交換兩個整形位址單元的值

void changearraydata(int *arrayaddress1, int *arrayaddress2)

7樓:匿名使用者

先對矩陣的元素進行排序,最大的放在矩陣的3,3位置,最小的四個分別放在1,1;5,1;1,5;5,5的位置唄。

c語言求 將乙個5*5的矩陣中最大的元素放在中心,四個角分別放四個最小的元素 20

8樓:騎自行車的攻城獅

下面是一種直接解法:另開闢乙個同樣大小的陣列,把原陣列的資料複製到裡邊,然後對新陣列按公升(或降)序排列,並記錄最大與最小的四個數及對應的下標。最後,把中間的數換成最大的數,四角換成最小的就可以了。

9樓:康憐翠

#include

void func(int a[5]);

void main(),,

,,,};

func(array);

printf("after sorted:\n");

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

printf("\n");}}

void func(int a[5])

// printf("%d %d %d %d",b[0],b[1],b[2],b[3]);

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

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

if(a[i][j]==b[24])

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

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

if(a[i][j]==b[0])

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

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

if(a[i][j]==b[1])

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

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

if(a[i][j]==b[2])

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

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

if(a[i][j]==b[3])}

c 陣列 將乙個5*5的矩陣中最大的元素放在中心,四個角分別放四個最小的元素

10樓:

main(),,

,}for(i=0;i<5;i++)

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

}a[2][2]=a[m][n];

}//不想寫下去了,自己琢磨一下就可以搞定

c語言,將5*5整數矩陣中的最大數放在中心位置,四個角上分別放上四個最小元素。

11樓:66666順心

#include

#define n 5

void swap(int*a,int*b)void sort(int*a,int n,int*max,int*min1,int*min2,int*min3,int*min4)

*max=a[24];

*min1=a[0];

*min2=a[1];

*min3=a[2];

*min4=a[3];

}void change(int*a,int max,int min1,int min2,int min3,int min4)

}for(p=a;p

}int main()

將乙個5*5的矩陣中最大的元素放在中心,四角分別放置4個最小元素,編寫一函式實現之。用main()函式呼叫。

12樓:匿名使用者

c**:

#include

void main()

,,,,};

int i,j;

printf("轉換前:\n");

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

change(a);/*呼叫函式*/

printf("轉換後:\n");

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

}void change(int x[5])for(i=0;i<24;i++)/*選擇排序法,對一維陣列中元素進行從小到大的排序*/

,,,,};

int i,j;

cout<<"轉換前:"<

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

change(a);/*呼叫函式*/

cout<<"轉換後:"<

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

return 0;

}void change(int x[5])for(i=0;i<24;i++)/*選擇排序法,對一維陣列中元素進行從小到大的排序*/

}for(i=0;i<5;i++)

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

if(x[i][j]==b[24])

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

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

if(x[i][j]==b[0])

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

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

if(x[i][j]==b[1])

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

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

if(x[i][j]==b[2])

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

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

if(x[i][j]==b[3])}

13樓:靈萱雅

將乙個5*5的矩陣中最大的元素放在中心,四角分別放置4個最小元素,編寫一函式實現之。用main()函式呼叫。

懸賞分:10 - 離問題結束還有 14 天 23 小時最好要詳細**~尤其是關鍵步驟~

4個最小元素(按從左到右、從上倒下的順序依次從小

將乙個5×5的矩陣中最大的元素放在中心,4個角分別放4個最小的元素(順序為從左到右,從上到下順序依 40

14樓:匿名使用者

#include

#define inf (1<<29)

int main()

x[4]=-1;

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

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

{if (a[i][j]

c語言,兩個將兩個陣列中的相同元素全部刪去,輸出刪去後的兩個陣列。如1,1,1,2,2,2,0,2,1,

不懂多來問問 include using namespace std 去掉陣列中為a的資料 int main int a2 10 int j 0,i while j l1 else cout l1 去掉陣列中為a的資料 寫好了 include int main printf 請輸入第二個陣列的元素個...

c 輸出陣列中最大的數和最小的數

先不說你取最大最小的演算法是否有問題 main函式裡,你f 和c 的呼叫就有問題啊 a k 和a o 是2個int型的數,你f 和c 都是需要3個引數,且有2個int型和一個int陣列型。再說你的k和o都沒賦初值。還有這句 if a i a i 1 這個if還可以寫為以下1句,我給注了,你可以看一下...

c語言首先完成包含整型元素的陣列的公升序排序,然後最大值和最小值互換急

include 初始化陣列 void input num int a 公升序排列所有元素 void sort int a 遍歷陣列 void show array int a 排序後互換最大和最小值 void change max min int a int main void void input...