C語(yǔ)言-數(shù)組有答案_第1頁(yè)
C語(yǔ)言-數(shù)組有答案_第2頁(yè)
C語(yǔ)言-數(shù)組有答案_第3頁(yè)
C語(yǔ)言-數(shù)組有答案_第4頁(yè)
C語(yǔ)言-數(shù)組有答案_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、選擇題

1.以下對(duì)一維整型數(shù)組a的正確說明是o

A.inta(10);B.intn=0,a[n];

C.intn;D.#defineSIZE10

scanf(“%d”,&n);inta[SIZE]

inta[n];

2.若有說明:inta[10];,則對(duì)a數(shù)組元素的正確引用是。

A.a[10]B.a[3.5]C.a(5)D.a[10-10]

3.以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句形式是o

A.inta[10]=(0,0,0,0,0);B.inta[10]={};

C.doublea[][4];D.inta[10]={10*l);

4.以下對(duì)二維數(shù)組a的正確說明是o

A.inta[3][];B.floata(3,4);C.doublea[][4];D.float

a⑶⑷;

5.若有說明:inta[3][4];則對(duì)a數(shù)組元素的正確引用是。

A.a[3][4]B.a[l,3]C.a[l+l][0]D.a(2)(1)

6.以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是o

A.inta[2][]={{1,0,1},{5}2,3}};

B.inta[][3]={{1,2,3},{4,5,6}};

C.inta[2][4]={{1,2,3},{4,5},{6}};

D.inta[][3]={{1,0,1,0},{},{1,1}};

7.下面程序段(每行代碼前面的數(shù)字表示行號(hào))。

1inta[3]={3*0];

2inti

3for(i=0;i<3;i++)scanf(u%dn,;

4for(i=l;i<3;i++)a[0]=a[0]+a[i];

5printf(w%d\nJ,,a[0]);

A.第1行有錯(cuò)誤B.第5行有錯(cuò)誤C.第3行有錯(cuò)誤D.沒有錯(cuò)誤

8.若有定義floatx[4]={l.3,2.4,5.6},y=6;則錯(cuò)誤的語(yǔ)句是。

A.y=x[3];B.y=x+l;C.y=x[2]+lD.x[0]=y;

9.定義如下變量和數(shù)組:

intk;

inta[3][3]={1,2,3,4,5,6,7,8,9};

則下面語(yǔ)句的輸出結(jié)果是o

for(k=0;k<3;k++)printf(a%dff,a[k][2-k]);

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

A.357B.369C.159D.147

10.下面程序的運(yùn)行結(jié)果是o

#include<stdio.h>

intmain()

{inta[6][6],i,j;

for(i=l;i<6;i++)

for(j=l;j<6;j++)

a[i][j]=(i/j)*(j/i);

for(i=l;i<6;i++)

{for(j=l;j<6;j++)

printf(〃%2d”,a[i][j]);

printfC\n*);

}

return0;

A.11111B.00001C.10000D.10001

11111000100100001010

11111001000010000100

11111010000001001010

11111100000000110001

11.下面是對(duì)數(shù)組s的初始化,其中錯(cuò)誤的語(yǔ)句是

A.chars[5]={"abc"};B.chars[5]={'a''b','c'};

C.chars[5]="”D.chars[5]="abcde";

12.下面程序段的運(yùn)行結(jié)果是。(□表示1個(gè)空格)

charc[5]={'a','b',''0','c',''0'};

printf(〃%s〃,c);

A.‘a(chǎn)''b'B.abC.abDcD.abD

13.有兩個(gè)字符數(shù)組a、b,則以下正確的輸入格式是。

A.gets(a,b);B.scanf(“%s%s”,a,b);

C.scanf(a%s%sw,&a,&b);D.gets("a"),gets(abn);

14.有字符數(shù)組a[80]和b[80],則正確的輸出形式是o

A.puts(a,b);B.printf(,a[],b[]);C.pulchar(a.b);

D.puts(a),puts(b);

15.有下面的程序段,則o

授課:XXX

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

chara[3],b[]=〃China〃;

a=b;

printf("%s”,a);

A.運(yùn)行后將輸出ChinaB.運(yùn)行后將輸出Ch

C.運(yùn)行后將輸出ChiD.編譯出錯(cuò)

16.下面程序段的功能是輸出兩個(gè)字符串中對(duì)應(yīng)相等的字符,請(qǐng)選擇填空。

charx[^^programming7";

chary[]/Fortran”;

inti=0;

while(x[i]!=>\0*&&y[i]!='\0')

if(x[i]==y[i])printfr%cz,,);

elsei++;

A.x[i++]B.y[++i]C.x[i]D.y[i]

17.下面程序的功能是將字符串s中所有的字符c刪除。請(qǐng)選擇填空。

#include<stdio.h>

intmain()

(chars[80];inti,j;

gets(s);

for(i=j=0;s[i]!=,\0J;i++)

if(s[i]!=,c*);

s[j]-\0';

puts(s);

return0;

}

A.s[j++]=s[i]B.s[++j]=s[i]C.s[j]=s[i];j++D.s[j]=s[i]

18.下面程序的運(yùn)行結(jié)果是o

#include<stdio.h>

intmain()

{charch[7]={"12ab56”};

inti,s=0;

for(i=0;ch[i]>=,0,&&ch[i]<='9';i+=2)

s=10*s+ch[i],O';

printf(〃%d\n〃,s);

return0;

}

授課:XXX

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

A.1B.1256C.12ab56D.15

19.當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入:ab〈回車>c〈回車>def〈回車),則下面程

序的運(yùn)行結(jié)果是o

#include<stdio.h>

#defineN6

intinain()

(charc[N];

inti=0;

for(;i<N;c[i]=getchar(),i++);

for(i=0;i<N;i++)putchar(c[i]);

return0;

)

A.abcdefB.aC.bD.ab

bcc

cdd

cl

e

20.下面程序的運(yùn)行結(jié)果是o

#include<stdio.h>

intinain()

{chara口二〃morning”,t;inti,j=0;

for(i=l;i<7;i++)

if(a[j]<a[i])j=i;

t=a[j];a[j]=a[7]:a[7]=t;

puts(a);

return0;

}

A.mogninrB.moC.morningD.mornin

答案:

1.D2.D3.B4.C5.C6.B7.A8.B9.A10.C11.

D

12.B13.B14.D15.D16.A17.A18.A19.D20.B

二、填空題

授課:XXX

如果您筋要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

1.若有定義floata[3][5];則a數(shù)組所含數(shù)組元素個(gè)數(shù)是,a數(shù)組所

占的字節(jié)數(shù)是。

2.若有定義:doublex[3][5];,則x數(shù)組中行下標(biāo)的下限為,列下

表的上限為。

3.假設(shè)M為已經(jīng)聲明的符號(hào)常員,則定義一個(gè)具有MXM個(gè)元素的雙精度型數(shù)組

a,且所有元素初值為0的形式是o

4.若有定義:inta[3][4]={{l,2},{0},{4,6,8,10}};則初始化后,a[l][2]

得到的初值是,得到的初值是o

5.下面程序給a數(shù)組輸入數(shù)據(jù)并以每行4個(gè)數(shù)據(jù)的形式輸出。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

ttdefineN20

intmain()

{inta[N],i;

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

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

{if()

printf("%3d",a[i]J;

)

printf("\n〃);

return0;

}

6.下面程序?qū)⒍S數(shù)組a的行和列元素互換后存到另一個(gè)二維數(shù)組b中,請(qǐng)?zhí)?/p>

空。

#include<stdio.h>

intmain()

{inta[2][3]={{1,2,3},(4,5,6});

intb[3][2],i,j;

printf("arraya:\n〃);

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

{for(j=0;;j++)

{printf("%5d",a[i][j]);

}

printf(〃\n〃);

)

授課:XXX

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

printf(^arrayb:\n");

for(i=0;;i++)

{for(j=0;j<=l;j++)

printf(飛5d”,b[i][j]);

printf(〃\n〃);

)

return0;

)

7.下面程序段的運(yùn)行結(jié)果是。

intx[5],i;

x[0]=l;x[l]=2;

for(i=2;i<5;i++)x[i]=x[i-l]+x[i-2];

for(i=2;i<5;i++)printf(,z%dz/,x[i]);

8.下面程序的運(yùn)行結(jié)果是o

#include<stdio.h>

intmain()

{inta[5][5],i,j,n=l;

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

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

a[i][j]=n4--;

printf(^Theresultis:\n,z);

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

{for(j=0;j<=i;j+-)

printf(〃%4d〃,a[i][j]);

printf(〃\n〃);

)

return0;

}

9.以下程序的功能是求1000以內(nèi)的水仙花數(shù)。(提示:所謂水仙花數(shù)是指一個(gè)

3位正整數(shù),其各位數(shù)字的立方之和等于該正整數(shù)。例如:407=4X4X4+0X0X

0+7X7X7,故407是一個(gè)水仙花數(shù)。)請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{intx,y,z,a[8],m,i=0;

printf("Thespecialnumbersare:\n,z);

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

for(;m++)

{x=m/100;y=;z=m%10;

if(m二=x*x*x+y*y*y-z*z*z)

{;i-+;}

)

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

printf(〃%6d〃,a[x]);

printf(〃\n〃);

return0;

)

10.下面程序的運(yùn)行結(jié)果是o

#include<stdio.h>

intmain()

{inta[10]={7,3,5,2,9,1,0,6,8,4},i=0,j=9,t;

while(i<j)

{t=a[i];a[i]=a[j];a[j]=t;

i+=2;j-=2;

}

for(i=0;i<10;i+=2jprintf(〃%d〃,a[i]);

return0;

)

11.下面程序的功能是輸入5個(gè)整數(shù),找出最大數(shù)和最小數(shù)所在的位置,并把二

者對(duì)調(diào),然后輸出調(diào)整后的5個(gè)整數(shù)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

(inta[5],max,min,i,j=0,k=0,t;

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

scanf;

min=a[0];

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

if(a[i]<min)(min=a[i];;}

max=a[0];

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

if(a[i]>max){max=a[i];;}

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

printf(〃\nThepositionofminis:%3d\n”,k);

printf(^Thepositionofmaxis:%3d\n〃,j);

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

printfa[i]);

printf;

return0;

)

12.下面程序的功能是檢查一個(gè)二維數(shù)組是否對(duì)稱(即對(duì)所有i、j都有

a[i][j]=a[j][i])o請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4);

inti,j,found=0;

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

for(;i<4;i++)

if(a[j][i]!=a[i][j])

{;break;}

if(found-l)printf(〃No\n");

elseprintf(〃Yes'n");

return0;

)

13.設(shè)數(shù)組a中的元素均為正整數(shù),以下程序是求a中偶數(shù)的個(gè)數(shù)和偶數(shù)的平均

值。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

(inta[10]={l,2,3,4,5,6,7,8,9,10);

intk,s,i;

floatave;

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

(if(a[i]%2!=0);

s+=;

k++;

)

if(k!=O)

(ave=s/k;printf(〃%d,k,ave);}

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

return0;

14.以下程序是將矩陣a、b的和存入矩陣c中并按矩陣形式輸出。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

(inta[3][4]={{3,-2,7,5},{1,0,4,-3},{6}8,0,2}};

intb[3][4]={{-2,0,1,4},{5,-1,7,6},(6,8,0,2});

inti,j,c[3][4];

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

{for(j=0;j<4;j++)

(c[i][j]=;

printf(/z%3d,z,c[i][j]);

)

return0;

}

15.以下程序段的功能是求數(shù)組num中小于零的數(shù)據(jù)之和。請(qǐng)?zhí)羁铡?/p>

int

num[20]={10,20,1,-20,203,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-

45,20);

intsum=0,i;

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

if()sum=;

printf("sum=%6d”,sum);

16.以下程序段的功能是,運(yùn)行后輸出結(jié)果是。

intnum[10]={103,1,-20,-203,-21,2,-2,-2,13,-21);

intsum=0,i;

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

if(num[i]>0&&num[i]%10==3)

sum=sum+num[i];

,,,,

printf(sum=%d\n,sum);

17.下面程序用“快速順序查找法”判斷數(shù)組a中是否存在某一數(shù)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

{inta[9]={25,57,48,37,12,92,86,33},i,x;

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

scanf(〃%d〃,&x);

i=0;;

while(a[i]!=x)i++:

if()printf("Found!Theindexis:%d\n〃,i);

elseprintf(,,Can,tfound!\n,z);

return0;

)

18.下面程序是用“插入法”對(duì)數(shù)組a進(jìn)行降序排序。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inta[5]=(4,7,2,5,1),i,j,m;

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

{m=a[i];

j二;

while(j>=0&&m>a[j])

{;j—;)

___________=m;

)

for(i=0;i<5;i++)printf(〃%3d〃,a[i]);

printf(〃\n〃);

return0;

)

19.下面程序用“兩路合并法”把兩個(gè)已按升序排列的數(shù)組合并成一個(gè)升序數(shù)組。

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{inta[3]={5,9,10};

intb[5]={12,24,26,37,48};

intc[10],i=0,j=0,k=0;

while(i<3&&j<5)

if()

{c[k]=b[j];k++;j++;)

else

{c[k]=a[i];k++;i++;)

while()

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

(c[k]=a[i];i++;k++;}

while()

{c[k]=b[j];j++;k++;}

for(i=0;i<k;i++)printf(〃/3d〃,c[i]);

putchar(*\n);

return0;

)

20.字符串〃ab\n\\012\\\〃〃的長(zhǎng)度是。

21.下面程序段將輸出computer。請(qǐng)?zhí)羁铡?/p>

charc[]=〃Itisacomputer”;

inti,j;

for(i=0;;i++)

{;printf(/z%cz,,c[j]);}

22.下面程序的功能是從鍵盤輸入一個(gè)大寫英文字母,要求按字母的順序打印出

3個(gè)相鄰的字母,指定的字母在中間。若指定的字母為Z,則打印出YZA;若為A,

則打印出ZAB。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{chara[3],c;

inti;

c=getchar();

a[l]=c;

if(c='Z'){a[2]='A';;}

elseif(c==,A,){a[0]=,Z,;:}

else{a[0]=c-l;a[2]=c+l;}

for(i=0;i<=2;i++)putchar(a[i]);

return0;

}

23.下面程序段的功能是將字符數(shù)組a[6]={'a','b','c','d','e','f'}變?yōu)?/p>

a[6]=請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{chart,a[6]={,a,/b,,,c,,,d,,,e/f};

inti;

授課:xxx

如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!

for(i=4;i>=0;i-);

a[0]=t;

for(i=0;i<=5;i++)putchar(a[i]);

return0;

)

24.下面程序的功能是在任意的字符串a(chǎn)中,將與字符c相等的所有元素的下標(biāo)

值分別存放在整型數(shù)組b中。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{chara[80];

inti,b[80],k=0;

gets(a);

for(i=0;a[i]!='\0';i++)

if(){b[k]=i;;}

for(i=0;i<k;i++)printf("%3d",b[i]);

return0;

}

25.有10個(gè)字符串。下面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論