當前位置:編程學習大全網 - 編程語言 - 大壹C語言典型編程問題

大壹C語言典型編程問題

第二個問題:

# 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);

}

  • 上一篇:我想請問得了三十多年哮喘,天天咳嗽
  • 下一篇:華為電腦鍵盤失靈怎麽辦
  • copyright 2024編程學習大全網