C復(fù)習(xí)題及答案_第1頁
C復(fù)習(xí)題及答案_第2頁
C復(fù)習(xí)題及答案_第3頁
C復(fù)習(xí)題及答案_第4頁
C復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C復(fù)習(xí)題及答案1.以下選項(xiàng)中合法的變量名是(A)。A._am7B.4gp3C.scanfD.B.H.Jack2.若有說明語句inti,j;則計(jì)算表達(dá)式i=(j=3,j++,j=5,j+5)后i的值為(D)。A.3B.4C.5D.103.關(guān)于if后一對(duì)圓括號(hào)中的表達(dá)式,以下敘述中正確的是(C)。A.只能用邏輯表達(dá)式B.只能用關(guān)系表達(dá)式C.可用任意表達(dá)式D.可用邏輯表達(dá)式也可用關(guān)系表達(dá)式4.設(shè)有定義語句:charc1=3,c2=3;,則以下表達(dá)式中值為0的是(A)。A.c1^c2B.c1&c2C.c1|c2D.~c25.調(diào)用函數(shù)時(shí),基本類型變量作函數(shù)實(shí)參,它與對(duì)應(yīng)的形參(A)。A.各自占用獨(dú)立的存儲(chǔ)單元B.共占用一個(gè)存儲(chǔ)單元C.同名時(shí)才能共用存儲(chǔ)空間D.不占用存儲(chǔ)單元6.若有如下結(jié)構(gòu)體類型的定義和語句:Dstructstudent{charname[10];charsex;intage;}std,*ps;ps=&std;則下面對(duì)結(jié)構(gòu)體成員的引用錯(cuò)誤的是()。A.std.sexB.ps->ageC.(*ps).ageD.student.sex7.以下關(guān)于文件包含的敘述中正確的是(B)。A.用#include命令所包含的文件其后綴只能是.hB.根據(jù)需要#include命令行可以出現(xiàn)在源程序任意行的起始位置C.對(duì)有錯(cuò)誤的被包含文件進(jìn)行修改后,包含它的源文件不必重新編譯D.用#include命令行所包含的頭文件可以是目標(biāo)文件8.若要打開A盤上user子目錄下名為data.txt的文本文件,進(jìn)行讀寫,下面符合此要求的函數(shù)調(diào)用是(C)。A.fopen(“A:\user\data.txt”,”rb”)B.fopen(“A:\user\data.txt”,”r”)C.fopen(“A:\user\data.txt”,”r+”)D.fopen(“A:\user\data.txt”,”w”)9.以下敘述不正確的是(C.D)。A.C程序的main函數(shù)可以沒有參數(shù)。B.C程序的main函數(shù)可以有參數(shù)。C.C程序的main函數(shù)若有參數(shù)時(shí),第一個(gè)參數(shù)的值最少是1。D.C程序的main函數(shù)若有參數(shù)時(shí),第一個(gè)參數(shù)的值一定要大于等于0。10.以下關(guān)于數(shù)組的敘述中不正確的是(D)。A.數(shù)組的名稱其實(shí)是數(shù)組在內(nèi)存中的首地址。B.數(shù)組元素是按順序存放在內(nèi)存中。C.當(dāng)數(shù)組名作為參數(shù)被傳遞給某個(gè)函數(shù)時(shí),原數(shù)組中的元素的值可能被修改。D.一個(gè)數(shù)組可以存儲(chǔ)多種不同類型的變量。1.C語言規(guī)定:函數(shù)返回值的類型是由__D________AReturn語句中的表達(dá)式類型規(guī)定的B調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定的C調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定的D在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定的2.在宏定義#definePI3.1415926中,用宏名PI代替一個(gè)___D___A常量B單精度數(shù)C雙精度數(shù)D字符串3.若以下對(duì)fun函數(shù)的調(diào)用是正確的:x=fun(fun(a,b,c),(a+b,a+c),a+b+c);則fun函數(shù)的形參個(gè)數(shù)為___A________。A、3B、4C、5D、64.C語言用______C_______表示邏輯“真”值。A.TrueB.t或yC.非零整型值D.整型值05.為了避免在嵌套的條件語句if—else中產(chǎn)生二義性,C語言規(guī)定:else子句總與_____B________配對(duì)。A.縮排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if6.凡是函數(shù)中未指定存儲(chǔ)類別的局部變量,其隱含的存儲(chǔ)類別是_A____________。A.a(chǎn)utoB.staticC.externD.register7.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是_____A________。A.?dāng)?shù)組的首地址B.?dāng)?shù)組第一個(gè)元素的值C.?dāng)?shù)組中全部元素的值D.?dāng)?shù)組元素的個(gè)數(shù)8.設(shè)有定義:chars[81];inti=0;以下不能將一行(不超過80個(gè)字符)帶有空格的字符串正確讀入的語句或語句組是(C)。A.gets(s);B.while((s[i++]=getchar())!='\n');s[i]='\0';C.scanf("%s",s);D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';9.以下說法正確的是________A_______A.實(shí)參和與其對(duì)應(yīng)的形參各自占用獨(dú)立的存儲(chǔ)單元B.實(shí)參和與其對(duì)應(yīng)的形參共同占用一個(gè)存儲(chǔ)單元C.只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共同占用存儲(chǔ)單元D.形參是虛擬的,不占用存儲(chǔ)單元10.在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于________A_______A.操作數(shù)乘2B.操作數(shù)除2C.操作數(shù)乘10D.操作數(shù)除101.定義了一維int型數(shù)組a[10]后,下面錯(cuò)誤的引用是_B____A.a[0]=1;B.a[10]=2;C.a[0]=5*2;D.a[1]=a[2]*a[0];2.若有定義:intx[10],*p=x;,則*(p+5)表示__B____A.?dāng)?shù)組元素x[5]的地址B.數(shù)組元素x[5]的值C.數(shù)組元素x[6]的地址D.數(shù)組元素x[6]的值3.以下關(guān)于switch語句和break語句的描述正確的是__D_________。A.在switch語句中必須使用break語句B.break語句只能用于switch語句體中C.break語句只能用于循環(huán)語句中D.在switch語句中可以使用break語句4.若程序中定義了以下函數(shù)doublemyadd(doublea,doubleb){return(a+b);}并將其放在調(diào)用語句之后,則在調(diào)用之前應(yīng)該對(duì)該函數(shù)進(jìn)行說明,以下選項(xiàng)中錯(cuò)誤的說明是____A________。A.doublemyadd(doublea,b);B.doublemyadd(double,double);C.doublemyadd(doubleb,doublea);D.doublemyadd(doublex,doubley);5.一個(gè)c程序的執(zhí)行是從______A_______。A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束6.凡是函數(shù)中未指定存儲(chǔ)類別的局部變量,其隱含的存儲(chǔ)類別是_______A______。A.a(chǎn)utoB.staticC.externD.register7.對(duì)于下面語句描述不正確的是_B____structStudent{unsignedlongid;charname[30];charcalss[30];}Stu1;A.structStudent為用戶自定義類型B.Student為用戶自定義類型C.name為結(jié)構(gòu)體成員變量D.Stu1為結(jié)構(gòu)體變量名稱8.若有定義int(*pt)[3];,則下列說法正確的是_D__________。A.定義了基類型為int的三個(gè)指針變量B.定義了基類型為int的具有三個(gè)元素的指針數(shù)組ptC.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組D.定義了一個(gè)名為pt的指針變量,它指向含有三個(gè)整數(shù)元素的一維數(shù)組9.下面的描述錯(cuò)誤的是__________C_____A.函數(shù)可以有多個(gè)形式參數(shù)B.函數(shù)可以沒有返回值C.函數(shù)內(nèi)可以嵌套定義函數(shù)D.函數(shù)可以被其他函數(shù)調(diào)用10.有以下定義和語句Dstructworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;}w,*pw;pw=&w;能給w中year成員賦1980的語句是_______________A.*pw.year=198O;B.w.year=1980;C.pw->year=1980;D.w.s.year=1980;二、閱讀程序代碼寫結(jié)果(每題4分,共32分)1、main()*%@{intx=0,y=2,z=3;switch(x){case0:switch(y==2){case1:printf("*");case2:printf("%");break;}case1:switch(z){case1:printf("$");break;case2:printf("#");break;default:printf("@");}2、voidswap(int*p,int*q)a=10,b=20{int*t;t=p;p=q;q=t;}main(){inta=10,b=20;swap(&a,&b);printf(“a=%d,b=%d\n”,a,b);}3、main()5,4,6{inta,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=0;for(;a>b;++b)i++;while(a>++c)j++;do{k++;}while(a>d++);printf("%d,%d,%d",i,j,k);}4、intfun1(inta,intb)4{intc;a+=a;b+=b;c=fun2(a,b);returnc*c;}intfun2(inta,intb){intc;c=a*b%3;returnc;}main(){intx=11,y=19;printf("%d\n",fun1(x,y));}5、#defineH1523#defineH2H1+3main(){intk;k=H2*H2/H2;printf("%d",k);}6.fun(int*s,intn1,intn2)4321098765{inti,j,t;i=n1;j=n2;while(i<j)<bdsfid="243"p=""></j)<>{t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;i++;j--;}}main(){inta[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3);fun(p,4,9);for(i=0;i<10;i++)printf("%d",a[i]);}7.intfun(inta)5{intb=0;staticintc=3;a=c++,b++;returna;}main(){inta=2,i,k;for(i=0;i<3;i++)k=fun(a++);printf("%d",k);}8.intdt[3]={10,20,30};41,50,11structst{intx;int*y;}*p,aa[3]={40,dt,50,&dt[0],60,dt};main(){p=aa;printf("%d,",++(p->x));printf("%d,",(++p)->x);printf("%d",++(*p->y));}1.以下程序的輸出結(jié)果是(2)#includemain(){inta=2,b=-1,c=2;if(a<b)<bdsfid="278"p=""></b)<>if(b<0)c=0;elsec+=1;printf("%d\n",c);}2.以下程序的運(yùn)行結(jié)果是(13)#includevoidfun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(3);printf("\n");}3.以下程序的運(yùn)行結(jié)果是(90,90,110,)#includemain(){intj,a[]={10,30,50,70,90,110,130,150},*p=a+5;for(j=3;j;j--){switch(j){case1:case2:printf("%d,",*p++);break;case3:printf("%d,",*(--p));}}}4.以下程序的輸出結(jié)果是(1,2,3,4,5,6,7,8,9,10,)#includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}5.以下程序的輸出結(jié)果是(3,2,1,6,7,8,)#includevoidfun(inta[],intn){inti,t;for(i=0;i<=""bdsfid="320"p="">{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i<8;i++)printf(“%d,”,k[i]);printf(“\n”);}6.以下程序的運(yùn)行結(jié)果是(2,8)#includevoidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){inti=2,j=8,*p=&i,*q=&j;swap(p,q);printf("%d,%d\n",*p,*q);}7.以下程序的運(yùn)行結(jié)果是(1,3)#includevoidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){p=p+1;*q=*q+1;}8.以下程序的運(yùn)行結(jié)果是(10,28,)#includeintb=2;intfun(int*k){b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){b=fun(&a[i])+b;printf("%d,",b);}printf("\n");}1.以下程序的輸出結(jié)果是(1001,ZhangDa,1098.0)#include#includestructA{inta;charb[10];doublec;};voidf(structAt);voidmain(){structAa={1001,"ZhangDa",1098.0};f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}voidf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}2.以下程序的運(yùn)行結(jié)果是(10,14)#includevoidmain(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}3.以下程序的輸出結(jié)果是(a=1.500000)#includevoidsub(floatx,float*y,float*z){*y=*y-1.0;*z=*z+x;}voidmain(){floata=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;sub(b-a,pa,pb);printf("a=%f\n",a);}4.以下程序的輸出結(jié)果是(35745)#includevoidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j<2);}voidmain(){intk,a[10]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)printf(“%d”,a[k]);}5.以下程序的運(yùn)行結(jié)果是(4321)#includevoidmain(){voidsub(int*s,int*y);inta[]={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,&x);printf("%d",x);}printf("\n");}voidsub(int*s,int*y){staticintt=3;*y=s[t];t--;}6.以下程序的運(yùn)行結(jié)果是(ar=9ar=9ar=11)#include#definePR(ar)printf("ar=%d",ar)voidmain(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--)switch(j){case1:case2:PR(*p++);break;case3:PR(*(--p));}}7.以下程序的運(yùn)行結(jié)果是(10,28,)#includeintb=2;intfun(int*k){b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){b=fun(&a[i])+b;printf("%d,",b);}printf("\n");}8.以下程序的運(yùn)行結(jié)果是(1,2,3,3,3)#includevoidmain(){staticinta[]={1,2,3,4,5};int*p=NULL;p=a;printf("%d,",*p);printf("%d,",*(++p));printf("%d,",*++p);printf("%d,",*(p--));printf("%d\n",++(*p));}三、根據(jù)程序代碼段的功能要求,完善程序(每空3分,共24分)①catstr(s1,t1)②*s++=*t++;③returnh;④COMPLEXdeccom(COMPLEXx1,COMPLEXx2)⑤c.real,c.imag⑥intmax,r,c;⑦scanf(“%d”,&a[i][j]);⑧if(a[i][j]>max)1.以下程序?qū)崿F(xiàn)字符串的連接運(yùn)算#include“stdio.h”main(){chars1[128],t1[128],*catstr(char*s,char*t);gets(s1);gets(t1);puts(_________①_______);}char*catstr(char*s,char*t){char*h=s;while(*s)s++;while(*t!=’\0’)______②_______;*s=’\0’;________③_____;}2.函數(shù)deccom()實(shí)現(xiàn)兩個(gè)復(fù)數(shù)的相減,并返回相減的結(jié)果,在主函數(shù)中輸出。typedefstruct{intreal;intimag;}COMPLEX;_____________________④_________________{COMPLEXs;s.real=x1.real-x2.real;s.imag=x1.imag-x2.imag;returns;}main(){COMPLEXa={3,5},b={2,1},c;c=deccom(a,b);printf("c=%d+%di",_________⑤______);}3.求4*5矩陣中的最大元素及其行列位置,矩陣元素值從鍵盤輸入。voidmain(){inta[4][5],i,j;________⑥______;for(i=0;i<4;i++)for(j=0;j<5;j++)________⑦_(dá)______;max=a[0][0];c=0;r=0;for(i=0;i<4;i++)`for(j=0;j<5;j++)____⑧______;{max=a[i][j];c=i;r=j;}printf("max=%d,c=%d,r=%d",max,c,r);}①x++②2*x+4*y==90或2*y+4*x==90③max=a[0][0];④maxRow=i;maxColum=j;⑤b[j][i]=a[i][j];⑥"file1.dat","r"⑦ch!=EOF⑧fputc(ch,fp2);1、雞和兔共有30只,而雞和兔的腳共有90只,求雞、兔各有多少只?for(x=1;x<=29;____①______){y=30-x;if(_______②________)printf(“%d,%d\n”,x,y);}2.求一個(gè)四行三列的矩陣其中數(shù)值最大的元素及其位置;然后完成矩陣轉(zhuǎn)置,并輸出。#include"stdio.h"#defineM4#defineN3main(){inti,j,max=0,maxRow,maxColum;staticinta[M][N]={31,20,3,4,5,61,7,8,19,10,11,12};staticintrow[M]={0,0,0,0},colum[N]={0,0,0},b[N][M];__________③___________for(i=0;i<=M-1;i++)for(j=0;j<=N-1;j++)if(a[i][j]>max){max=a[i][j];______________④_______________}printf("max:%drow:%dcolum:%d\n",max,maxRow,maxColum);for(i=0;i<m;i++)<bdsfid="526"p=""></m;i++)<>for(j=0;j<n;j++)<bdsfid="528"p=""></n;j++)<>___________⑤_____________for(i=0;i<n;i++)<bdsfid="531"p=""></n;i++)<>{for(j=0;j<m;j++)<bdsfid="533"p=""></m;j++)<>printf("%8d",b[i][j]);printf("\n");}}3.編程實(shí)現(xiàn)將文本文件file1.dat中的內(nèi)容復(fù)制到文本文件file2.dat中去,同時(shí)將小寫字母轉(zhuǎn)換成大寫字母。#include"stdio.h"voidmain(){FILE*fp1,*fp2;charch;fp1=fopen(______⑥______);fp2=fopen("file1.dat","w");ch=fgetc(fp1);while(____⑦_(dá)____){if(ch>='a'&&ch<='z')ch=ch-32;________⑧________ch=fgetc(fp1);}fclose(fp1);fclose(fp2);}①t[k]<*a②table,p③age>=18&&age<=25④a[age]++;⑤i=18;i<=25;⑥j=SIZE-1;⑦a[i]=a[j];a[j]=t⑧j--;1.下面程序是用來從鍵盤輸入十個(gè)整數(shù),然后求出其中的最小值。#includevoidlookup(int*t,int*a,intn){intk;*a=t[0];for(k=1;k<n;k++)<bdsfid="559"p=""></n;k++)<>if(________①__________)*a=t[k];}voidmain(){inttable[10];intk,min,*p=&min;for(k=0;k<10;k++)scanf(“%d”,&table[k]);lookup(________②________,10);printf(“min=%d\n”,min);}2.輸入30個(gè)人的年齡,統(tǒng)計(jì)18,19,20……25歲各有多少人main(){inti,n,age,a[30]={0};for(i=0;i<30;i++){scanf("%d",&age);if(_______③_______)_______④______;}printf("agenumbe\n");for(______⑤______;i++)printf("%5d%6d\n",i,a[i]);}3.以下程序?qū)?shù)組中的數(shù)據(jù)按逆序存放#include#defineSIZE12main(){inta[SIZE],i,j,t;for(i=0;i<="">i=0;_____⑥______while(i<j)<bdsfid="590"p=""></j)<>{t=a[i];__________⑦_(dá)_______;i++;______⑧____}for(i=0;i<="">printf("\n");}四、根據(jù)代碼功能找出程序中的一處錯(cuò)誤,并改正(每錯(cuò)3分,共6分)1、錯(cuò)誤行號(hào):5修改為:if(c>=’0’&&c<=’9’)2、錯(cuò)誤行號(hào):5修改為:sum=0;1.輸入一行字符,分別統(tǒng)計(jì)出其中數(shù)字和小寫字母的個(gè)數(shù)。1voidmain()2{charc;3intm=0,n=0;4while((c=getchar())!='\n')5{if('0'<=c<='9')6n++;7if((c<='z'&&c>='a'))8m++;}9printf("digit:%d,letter:%d",n,m);10}2.以下程序讀入一個(gè)數(shù)字a,求sum=a+aa+aaa+aaaa+aaaaa。1main()2{inti=0,j,a;3longintsum,t;4scanf(“%d”,&a);5sum=1;6do{i++;t=0;7for(j=0;j<i;j++)<bdsfid="618"p=""></i;j++)<>8t=t*10+a;9sum=sum+t;10}while(i<5);11printf(“sum=%ld”,sum);12}1.錯(cuò)誤行:for(p=0;p<=a+9;p++)改正:for(p=a;p<=a+9;p++)2.錯(cuò)誤行:printf("%d\n",sizeof(stu));改正:printf("%d\n",sizeof(structstu));1.利用指針實(shí)現(xiàn)對(duì)數(shù)組元素的逐一打印輸出。#includevoidmain(){staticinta[10]={1,2,3,4,5,6,7,8,9,10};int*p;for(p=0;p<=a+9;p++)printf("-%d-",*p);}2.求結(jié)構(gòu)體類型占內(nèi)存字節(jié)數(shù)。#includevoidmain(){structstu{charname[20];charsex;intage;};printf("%d\n",sizeof(stu));}1.錯(cuò)誤行:a=a+1;改正:*a=*a+1;2.錯(cuò)誤行:max=a;改正:max=a[0][0];1.以下程序中fun函數(shù)的功能是:統(tǒng)計(jì)字符串中大寫字母的個(gè)數(shù)。例如,給字符串s輸入:AAaaBBb123CCccccd,則應(yīng)輸出結(jié)果:upper=6。#includevoidfun(char*s,int*a,int*b){while(*s){if(*s>='A'&&*s<='Z')a=a+1;s++;}}main(){chars[100];intupper=0;printf("\nPleaseastring:");gets(s);fun(s,&upper);printf("\nupper=%dlower=%d\n",upper,lower);}2.有一個(gè)3*4的矩陣,編程求出其中值最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。voidmain(){inti,j,row=0,colum=0,max;inta[3][4]={{1,3,5,7},{9,7,6,2},{20,10,5,11}};max=a;for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d\n",max,row,colum);五、編寫程序(第一題8分,第二、三題各10分,共28分)1、編寫一判斷素?cái)?shù)的函數(shù),若是素?cái)?shù)則函數(shù)返回1,否則返回0。1.#include"stdio.h"#include"math.h"intprime(intn){inti;for(i=2;i<=sqrt(n);i++)if(n%i==0)return0;return1;}2、編寫一函數(shù)voidrevstr(char*s),該函數(shù)能將s所指向字符串中的內(nèi)容逆置;再編寫主函數(shù),實(shí)現(xiàn)字符串的輸入與逆置輸出。2.#include"stdio.h"#include"string.h"voidrevstr(char*s){inti,j;charc;i=0;j=strlen(s)-1;while(i<j)<bdsfid="692"p=""></j)<>{c=*(s+i);*(s+i)=*(s+j);*(s+j)=c;i++;j--;}}voidmain(){intn;charstr[80];gets(str);revstr(str);puts(str);}2題函數(shù)voidrevstr(char*s)也可以寫成如下:voidrevstr(char*s){inti,l;charc;i=0;l=strlen(s)-1;while(i<=""bdsfid="712"p="">{c=*(s+i);*(s+i)=*(s+l-i-1);*(s+l-i-1)=c;i++;}}3、編寫一程序,能用起泡法實(shí)現(xiàn)10個(gè)整數(shù)的從小到大排序。3.#include#defineN10intmain(){inti,j,t;inta[N]={9,8,3,7,5,2,6,1,3,4};(或for(i=0;i<n;i++)<bdsfid="727"p=""></n;i++)<>scanf("%d",&a[i]);)for(j=0;j<n-1;j++)<bdsfid="730"p=""></n-1;j++)<>for(i=0;i<n-j-1;i++)<bdsfid="732"p=""></n-j-1;i++)<>if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("\naftersort:");for(i=0;i<=N-1;i++)printf("%3d",a[i]);printf("\n");}1.鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開。#include#defineN81main(){charstring[N];inti,num=0,word=0;charc;printf("\n請(qǐng)輸入單詞(單詞之間用空格分隔開):\n");gets(string);for(i=0;(c=string[i])!='\0';i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("\n共有%d個(gè)單詞。\n",num);}2.編寫判斷素?cái)?shù)的函數(shù),然后在主函數(shù)中調(diào)用該函數(shù)求100到200之間的所有素?cái)?shù)。#include#includeintisPrime(intn){inti;for(i=2;i<=sqrt(n);i++)if(n%i==0)return0;return1;}intmain(){inti;for(i=100;i<=200;i++)if(isPrime(i))printf("%d",i);return0;}3.根據(jù)輸入的日期求是該年度的第幾天?要求用結(jié)構(gòu)體實(shí)現(xiàn)。#include"stdio.h"structdate{intday;intmonth;intyear;};main(){intPassDays(structdate*pDate);structdatedateYMD;printf("Enteryear/month/day:");scanf("%d%d%d",&dateYMD.year,&dateYMD.month,&dateYMD.day);printf("thepasseddays:%d\n",PassDays(&dateYMD));}intPassDays(structdate*pDate){staticintiMonthDays[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inti,iFlag,iTotalDays=0;iTotalD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論