1、給定程式中,函式fun的功能是:在任意給定的9個正整數中找出按升序排列時處於中間的數,將原資料序列中比該中間數小的數用該中間數替換,位置不變,在主函式中輸出處理後的資料序列,並將中間數作為函式值返回。
例如,有9個正整數:1 5 7 23 87 5 8 21 45
按升序排列時的中間數為:8
處理後主函式中輸出的數列為:8 8 8 23 87 8 8 21 45
請在程式的下劃線處填入正確的內容並把下劃線刪除,使程式得出正確的結果。
不得增行或刪行,也不得更改程式的結構!
#include
#define N 9
int fun(int x[])
{ int i,j,k,t,mid,b[N];
for(i=0;i for(i=0;i<=N/2;i++)
{ k=i;
for(j=i+1;jb[j]) k=j;
if(k != i )
{
/**********found**********/
t=b[i]; b[i]=___1___; b[k]=t;
}
}
/**********found**********/
mid=b[___2___];
for(i=0; i/**********found**********/
if(x[i] ___3___ mid) x[i]=mid;
return mid;
}
main()
{ int i, x[N]={1,5,7,23,87,5,8,21,45};
for(i=0; i for(i=0; i}
2、給定程式中,函式fun的功能是建立一個N×N的矩陣。 矩陣元素的構成規律是:最外層元素的值全部為1;從外向內第2層元素的`值全部為2;第3層元素的值全部為3,…依次類推。例如,若N=5,生成的矩陣為:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
請在程式的下劃線處填入正確的內容並把下劃線刪除, 使程式得出正確的結果。
注意:源程式存放在考生資料夾下的BLANK1.C中。
不得增行或刪行,也不得更改程式的結構!
#include
#define N 7
/**********found**********/
void fun(int (*a) __1__)
{ int i,j,k,m;
if(N%2==0) m=N/2 ;
else m=N/2+1;
for(i=0; i/**********found**********/
for(j= __2__ ; j a[i][j]=a[N-i-1][j]=i+1;
for(k=i+1; k/**********found**********/
a[k][i]=a[k][N-i-1]= __3__;
}
}
main()
{ int x[N][N]={0},i,j;
fun(x);
printf("nThe result is:n");
for(i=0; i { for(j=0; j