菜鳥求教,c語言程式設計的簡單問題

2025-02-02 11:25:26 字數 1732 閱讀 1903

1樓:網友

#include ""

void exchange(int a[25]);子函式宣告。

void main()

int b[25]; 用一維陣列表示矩陣。

int i;

printf("請輸入5*5矩陣:");

for(i=0;i<25;i++)輸入矩陣。

scanf("%d",&b[i]);

exchange(b); 進行轉換。

printf("轉換之後的矩陣為:");

for(i=0;i<25;i++)輸出矩陣。

printf("%3d",b[i]);

if(0==(i+1)%5)

printf("");

進行5次迴圈遍歷,找出最大值與最小值,然後與相應位置交換資料。

void exchange(int a[25])int i,j,m,n;

m=a[1];

for(i=0;i<25;i++)最小值放到左上角。

if(a[i]<=m)

m=a[i];

j=i;n=a[j];

a[j]=a[0];

a[0]=n;

m=a[1];

for(i=0;i<25;i++)次小值放到右上角。

if(i!=0)

if(a[i]<=m)

m=a[i];

j=i;n=a[j];

a[j]=a[4];

a[4]=n;

m=a[1];

for(i=0;i<25;i++)次次小值放到左下角。

if((i!=0)&&i!=4))

if(a[i]<=m)

m=a[i];

j=i;n=a[j];

a[j]=a[20];

a[20]=n;

m=a[1];

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

if((i!=0)&&i!=4)&&i!=20)) 次次次小值放到右下角。

if(a[i]<=m)

m=a[i];

j=i;n=a[j];

a[j]=a[24];

a[24]=n;

m=a[1];

for(i=0;i<25;i++)最大值放中間。

if(a[i]>=m)

m=a[i];

j=i;n=a[j];

a[j]=a[12];

a[12]=n;

return;

你看看這個程式,這個程式會幫你解決你想知道的和你想問而沒問道的問題。 這個程式優點很多。

2樓:網友

二維陣列直接訪問就行啦,比要輸出左上角那個就這樣:

printf(「%d",a[0][0]);其他的直接用a[n-1][1],a[1][n-1],a[n-1]n-1]分別替換a[0][0]就行,不必用for語句。

3樓:匿名使用者

int number[10][10];

int i,j,k=1;

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

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

number[i][j]=k;

k++;int num;

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

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

num=number[i][j];

printf...

如果你指的n*n,n要自己輸入的話,就要動態分配了。

c語言程式設計問題,C語言程式設計問題?

int main printf 字母數 d n空格數 d n數字數 d n其他字元數 d n letters,space,digit,other return 0 第一個問題 無效的主要 i 100 i 100 第二個問題,到1 100奇 0 int i 1 i 1 100 i i 100 而 i ...

C語言程式設計問題,c語言程式設計問題

先while或do while輸入成績,成績放入先定義的陣列,直到輸入負數結束。然後for迴圈算出總成績,然後定義變數平均直,算出變數直。for迴圈裡套if條件低於60輸出。課本上有例子,你看呀。c語言程式設計問題 提問怎麼改。把replace函式提到main函式外面。提到main函式的前面。或者在ma...

C語言程式設計問題,c語言程式設計問題

我只感覺到上面的程式有錯誤,但是不是死迴圈啊。這句感覺就不對。d d 沒有對應的接受鍵盤輸入的變數。for j 0 j 5 j stu1 i tot stu1 i tot stu1 i score j 很明顯上面這樣輸入會造成越界。當j 4的時候stu1 i score 4 是沒有意義的。print...