# include & ltstdio.h & gt
主()
{
int a[10],I,j,min,t;
Printf("輸入十個數字:");
for(I = 0;我& lt10;i=i+1)
scanf("%d ",& ampa[I]);
printf(" \ n ");
for(I = 0;我& lt10;i=i+1)
{
min = I;
for(j = I+1;j & lt10;j=j+1)
if(a[min]& gt;a[j])
{
min = j;
}
t = a[分鐘];
a[min]= a[I];
a[I]= t;
}
Printf("排序後:");
for(I = 0;我& lt10;i=i+1)
printf("%d ",a[I]);
printf(" \ n ");
}
問題8:
(4) (a)內容:求二維數組的“鞍點”,即該位置的元素在行中最大,列中最小。也可能沒有鞍點。
①二維數組有鞍點。
9 80 205 40
90 -60 96 1
210 -3 101 89
②二維數組沒有鞍點。
9 80 205 40
90 -60 196 1
210 -3 101 89
45 54 156 7
使用scanf函數從鍵盤輸入數組中每個元素的值,檢查結果是否正確。標題沒有指定二維數組的行數和列數。程序應該能夠處理任意行數和列數的數組。所以理論上要準備多種不同行列的數組數據,但是這種工作量太大,壹般來說沒必要這麽做,只需要準備典型數據就可以了。
如果已經指定了數組的行數和列數,則可以在程序中為數組元素指定初始值,而無需使用scanf函數。請修改程序實現它。
b)程序:
1,使用scanf函數輸入數組元素的值:
# include & ltstdio.h & gt
#定義N 3
#定義M 4
void main()
{
int i,j,k,a[N][M];
int max,maxj,flag
Printf("請輸入壹個2D數組:\ n ");
for(I = 0;我& ltn;i=i+1)
for(j = 0;j & ltm;j=j+1)
scanf("%d ",& ampa[I][j]);
for(I = 0;我& ltn;i=i+1)
{
max = a[I][0];
maxj = 0;
for(j = 0;j & ltm;j=j+1)
if(a[I][j]& gt;最大)
{
max = a[I][j];
maxj = j;
}
flag = 1;
for(k = 0;k & ltn;k=k+1)
if(max & gt;a[k][maxj])
{
flag = 0;
繼續;
}
if(標誌)
{
printf("a[%d][%d]=%d\n ",I,maxj,max);
打破;
}
}
如果(!旗幟)
Printf("無鞍點!\ n ");
}
2.已經指定了數組的行和列,初始值被分配給數組元素:
# include & ltstdio.h & gt
void main()
{
int a[3][4]={{9,80,205,40},{90,-60,96,1},{210,-3,101,89 } };
int i,j,k;
int max,maxj,flag
printf(" array is:\ n ");
for(I = 0;我& lt3;i=i+1)
{
for(j = 0;j & lt4;j=j+1)
printf("%5d ",a[I][j]);
printf(" \ n ");
}
printf(" \ n ");
for(I = 0;我& lt3;i=i+1)
{
max = a[I][0];
maxj = 0;
for(j = 0;j & lt4;j=j+1)
if(a[I][j]& gt;最大)
{
max = a[I][j];
maxj = j;
}
flag = 1;
for(k = 0;k & lt3;k=k+1)
if(max & gt;a[k][maxj])
{
flag = 0;
繼續;
}
if(標誌)
{
printf("a[%d][%d]=%d\n ",I,maxj,max);
打破;
}
}
如果(!旗幟)
Printf("無鞍點!\ n ");
}
問題12:
# include & ltstdio.h & gt
void main()
{
char a[20],b[10];
int i=0,j = 0;
scanf("%s%s ",a,b);
while (a[i]!= ' \ 0 ')I = I+1;
while (b[j]!='\0')
{
a[i++]= b[j];
j = j+1;
}
a[I]= ' \ 0 ';
printf("%s\n ",a);
}