c語言知識(shí)學(xué)習(xí)課后答案解析電子科技大學(xué)出版社_第1頁
c語言知識(shí)學(xué)習(xí)課后答案解析電子科技大學(xué)出版社_第2頁
c語言知識(shí)學(xué)習(xí)課后答案解析電子科技大學(xué)出版社_第3頁
c語言知識(shí)學(xué)習(xí)課后答案解析電子科技大學(xué)出版社_第4頁
c語言知識(shí)學(xué)習(xí)課后答案解析電子科技大學(xué)出版社_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

**語言程序設(shè)計(jì)教程答案第一章C語言概述一、簡答題1.(1)語言簡潔、緊湊,使用方便、靈活;(2)運(yùn)算符豐富;(3)具有豐富的數(shù)據(jù)類型;(4)具有結(jié)構(gòu)化的控制語句;(5)語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;(6)C語言允許直接訪問物理地址,能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接訪問硬件;(7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;(8)用C語言寫的程序可移植性好,基本上不作修改就能用于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。感謝閱讀2.順序結(jié)構(gòu),分支結(jié)構(gòu),循環(huán)結(jié)構(gòu)3.所謂算法就是為解決一個(gè)問題而采取的方法和步驟。算法的特性:有窮性、確定性、輸入、輸出、可行性。表示算法的方式:(1)用自然語言表示;(2)用流程圖感謝閱讀表示;(3)用N—S流程圖表示;(4)用偽代碼表示;(5)用計(jì)算機(jī)語言表示。感謝閱讀**二、算法1.瓶子A里盛有醋瓶子B里盛有醬油有一個(gè)空瓶C將A中的醋倒入C將B中的醬油倒入A將C中的醋倒入B2.輸入一個(gè)數(shù)放在a中max=a以下步驟重復(fù)9次:輸入一個(gè)數(shù)放在a中如果a>max,max=a打印max的值3.如果 a<btemp=aa=bb=temp如果 c>atemp=aa=cc=temp否則**如果 c>btemp=bb=cc=temp打印a,b,c的值4.i=1sum=0以下程序循環(huán)100遍:sum=sum+ii=i+1打印sum的值5.如果(n除以3的余數(shù)為0并且n除以5的余數(shù)為0)精品文檔放心下載n能夠同時(shí)被3和5整除否則n不能夠同時(shí)被3和5整除6.i=101以下語句循環(huán)50遍:j=2flag=1當(dāng)j<(i除以2的整數(shù)部分)時(shí)循環(huán)以下語句:謝謝閱讀如果i除以j的余數(shù)為零**flag=0退出該循環(huán)如果flag==1打印i的值i=i+27.如果m<ntemp=mm=nn=tempi=n做以下循環(huán),直到m,n能夠被i整除:如果m能夠被i整除并且n能夠被i整除i即是m和n的最大公約數(shù)跳出循環(huán)謝謝閱讀否則i=i-1打印i的值8.data=b*b—4*a*c如果data>0否則 如果data=0x1=x2=—b/2否則**無實(shí)數(shù)解三、編程題1.main(){printf(“##############################\感謝閱讀n”);printf(“ Howdoyoudo? \n”);精品文檔放心下載printf(“##############################\謝謝閱讀n”);}2.main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“sum=%d”,a+b+c);}第二章 數(shù)據(jù)類型與表達(dá)式一、單項(xiàng)選擇題1.B 2.C 3.A 4.A

5.D

6.B

7.A

8.C9.D二、寫出下列程序的運(yùn)行結(jié)果1.**aabb cc abcAN2.ab97989,11,9,10a=2,b=3,c=2s1=2.500000s2=3三、編程題main(){charc1='c',c2='h',c3='i',c4='n',c5='a';c1=c1+4;謝謝閱讀c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);精品文檔放心下載}**第三章順序程序設(shè)計(jì)選擇題1)B2)D3)D4)A5)A6)B7)B8)A9)D10)C11)D12)A填空題1)b2)2613)2521374)abc5)5.0,4,c=36)3編程題#definePI3.1415926main(){float h,r,l,sv,sz;printf(“請輸入圓的半徑r,圓柱高h(yuǎn):\n”);scanf(“%f,%f”,&r,&h);l=2*PI*r;精品文檔放心下載s=PI*r*r;sv=3.0/4.0*PI*r*r*r;sz=PI*r*r*h;printf(“圓周長為:l=%6.2f,圓面積為:s=%6.2f\n”,謝謝閱讀l,s);printf(“求體積為:sv=%6.2f,圓柱體積為:謝謝閱讀**sz=%6.2f\n”,sv,sz);}2、main(){float c,f;printf(“請輸入一個(gè)華氏溫度:\n”);scanf(“%f”,&f);c=5.0/9.0*(f-32);printf(“攝氏溫度為:%6.2f\n”,c);精品文檔放心下載}第四章 循環(huán)程序設(shè)計(jì)一、選擇題1.D2.D3.D4.C5.D6.A7.B8.B9.A10.D.11.B12.A精品文檔放心下載13.B14.C15.C16.A17.A18.B19.D20.D21.A感謝閱讀二、填空題1.5858582.03.184.89215.20,06.6**7.1,3,28.Year%400==0year%100!=0count++三、編程題1.main(){longa;scanf(“%ld”,&a);if(a>=10000&&a<=99999)printf(“這是個(gè)五位數(shù)”);elseif(a>=1000&&a<=9999)謝謝閱讀printf(“這是個(gè)四位數(shù)”);elseif(a>=100&&a<=999)printf(“這是個(gè)三位數(shù)”);elseif(a>=10&&a<=99)printf(“這是個(gè)二位數(shù)”);elseif(a>=0&&a<=9)printf(“這是個(gè)一位數(shù)”);elseprintf(“輸入錯(cuò)誤”);**}3.main(){inta;intg,s,b;//個(gè)位、十位、百位printf("水仙花數(shù)有:\n");for(a=100;i<=999;a++){g=a%10;s=a/10%10;b=a/100;if(a==g*g*g+s*s*s+b*b*b)printf("%d ",a);}printf("\n");}4、main(){inti,n;printf("inputn:");scanf("%d",&n);printf("\n%d=",n);**for(i=2;i<=n;i++){while(i!=n)if(n%i==0){printf("%d*",i);n/=i;}elsebreak;}printf("%d\n",n);}5、#include“stdio.h”main(){charc;intw,x,y,z;w=x=y=z=0;while((c=getchar())!=’\n’)謝謝閱讀{if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’))精品文檔放心下載w++;elseif(c==’’)x++;elseif(c>’0’&&c<’9’)**y++;elsez++;}printf(“英文字母個(gè)數(shù):%d\n”,w);printf(“空格個(gè)數(shù):%d\n”,x);printf(“數(shù)字個(gè)數(shù):%d\n”,y);printf(“其他字母個(gè)數(shù):%d\n”,z);}6、main(){floath=100,t=100;intj;for(j=1;j<10;j++){t=t/2;h=h+t*2;}printf(“共經(jīng)過:%f米\n”,h);printf(“第十次反彈%f米\n”,t/2);}精品文檔放心下載第五章 數(shù) 組一、單項(xiàng)選擇題**1.B2.A3.C4.C5.D6.B7.C8.B9.C10.B二、寫出下列程序的運(yùn)行結(jié)果1.S=3682.*************************3.S1=18S2=104.!margorP5.?dāng)?shù)字0的出現(xiàn)次數(shù)是:3數(shù)字1的出現(xiàn)次數(shù)是:2數(shù)字2的出現(xiàn)次數(shù)是:2數(shù)字3的出現(xiàn)次數(shù)是:2數(shù)字4的出現(xiàn)次數(shù)是:0數(shù)字5的出現(xiàn)次數(shù)是:1數(shù)字6的出現(xiàn)次數(shù)是:1數(shù)字7的出現(xiàn)次數(shù)是:1**數(shù)字8的出現(xiàn)次數(shù)是:1數(shù)字9的出現(xiàn)次數(shù)是:1三、編程題1.#include"stdio.h"main(){inta[11];inti,j,t;printf("input10number:\n");精品文檔放心下載for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");for(i=1;i<=9;i++)for(j=1;j<=10-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}精品文檔放心下載printf("thesortednumberis:\n");謝謝閱讀for(i=1;i<11;i++)printf("%4d",a[i]);}2.#include"stdio.h"main(){inta[11],i,b;**printf("imput10sortednumber:\n");感謝閱讀for(i=0;i<10;i++)scanf("%d",&a[i]);printf("inputaninteger:\n");謝謝閱讀scanf("%d",&b);for(i=9;i>=0&&a[i]>b;i--)精品文檔放心下載a[i+1]=a[i];a[i+1]=b;printf("sortednumbers:\n");感謝閱讀for(i=0;i<11;i++)printf("%5d",a[i]);}3.#include"stdio.h"main(){inta[5],i,j,t;printf("input5integer:\n");感謝閱讀for(i=0;i<5;i++)

/*輸入5個(gè)整數(shù)*/scanf("%d",&a[i]);for(i=0,j=4;i<j;i++,j--)

/*逆序存放*/{t=a[i];a[i]=a[j];a[j]=t;}謝謝閱讀for(i=0;i<5;i++)

/*逆序存放后重新輸出*/**printf("%5d",a[i]);}4.#include"stdio.h"main(){inti,j,a[10][10]={{1},{1,1}};感謝閱讀for(i=2;i<10;i++)

/*給二維數(shù)組每個(gè)元素賦值*/{a[i][0]=1;for(j=1;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];感謝閱讀}for(i=0;i<10;i++)

/*輸出二維數(shù)組*/{for(j=0;j<=i;j++)printf("%-5d",a[i][j]);printf("\n");}}5.#include"stdio.h"main(){inta[3][4],i,j,max,row,col;精品文檔放心下載printf("input3*4matrix:\n");感謝閱讀**for(i=0;i<3;i++)

/*輸入3*4矩陣*/for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0]; row=0; col=0;精品文檔放心下載for(i=0;i<3;i++)/*尋找矩陣中的最大值及其行列號(hào)*/for(j=0;j<4;j++)if(max<a[i][j]){max=a[i][j];row=i,col=j;}printf("\n數(shù)組中最大的數(shù)是%d,其行號(hào)是%d,列號(hào)是%d\n",max,row,col);}6.#defineN3#defineM4#include"stdio.h"main(){inta[N][M],i,j,k,max,row,col;printf("input%d*%dmatrix:\n",N,M);感謝閱讀for(i=0;i<N;i++) /*輸入二維矩陣精品文檔放心下載*/for(j=0;j<M;j++)**scanf("%d",&a[i][j]);for(i=0;i<N;i++)/*求鞍點(diǎn)*/{max=a[i][0];row=i;col=0;for(j=1;j<M;j++)/*求矩陣中每一行的最大值及其所行列號(hào)*/if(max<a[i][j]){max=a[i][j];col=j;}for(k=0;k<N;k++)/*判斷每一行的最大值在其所在列是否最大*/if(a[k][col]<max)break;if(k==N)/*得到鞍點(diǎn)*/{printf("thepointis%d,row=%d,col=%d\n",max,row,col);break;}謝謝閱讀}if(i==N)

/*沒有鞍點(diǎn)*/printf("nopoint\n");}7.#include"stdio.h"main(){intnum=0,word=0;/*word=0表示未出現(xiàn)單詞,如出現(xiàn)單詞就置word為精品文檔放心下載**1.num用來統(tǒng)計(jì)單詞個(gè)數(shù)*/charc;printf("pleaseinputastring:\n");while((c=getchar())!='\n')if(c=='')謝謝閱讀word=0;elseif(word==0){word=1; num++;}printf("Thereare%dwordsintheline\n",num);}精品文檔放心下載8.#include"stdio.h"main(){inti,j,uppn,lown,dign,span,othn;/*uppn,lown,dign,span,othn分別存放英文大寫字母、感謝閱讀小寫字母、數(shù)字、空格和其他字符的個(gè)數(shù)*/chartext[3][80];uppn=lown=dign=span=othn=0;謝謝閱讀for(i=0;i<3;i++){gets(text[i]);for(j=0;j<80&&text[i][j]!='\0';j++)感謝閱讀{if(text[i][j]>='A'&&text[i][j]<='Z')謝謝閱讀uppn++;**elseif(text[i][j]>='a'&&text[i][j]<='z')謝謝閱讀lown++;elseif(text[i][j]>='0'&&text[i][j]<='9')精品文檔放心下載dign++;elseif(text[i][j]=='')span++;elseothn++;}}for(i=0;i<3;i++)printf("%s\n",text[i]);printf("uppn=%d\n",uppn);printf("lown=%d\n",lown);printf("dign=%d\n",dign);printf("span=%d\n",span);printf("othn=%d\n",othn);}9.#include"stdio.h"main(){inti,j;charstr1[20],str2[20];**printf("inputtwostrings:\n");gets(str1);gets(str2);j=strlen(str1);/*求字符串1的長度*/for(i=0;str2[i]!='\0';i++,j++)/*字符串合并*/str1[j]=str2[i];str1[j]='\0';/*加上字符串結(jié)束標(biāo)志*/puts(str1);}10.#include"stdio.h"main(){inti,n;charstr1[20],str2[20];printf("inputtwostrings:(nomorethan20characters)\n");精品文檔放心下載gets(str1); gets(str2);n=strlen(str1)<strlen(str2)?strlen(str1):strlen(str2);感謝閱讀/*n中存放較短字符串的長度*/for(i=0;i<n&&str1[i]==str2[i];i++);printf("%d\n",str1[i]-str2[i]);精品文檔放心下載**}第六章 函數(shù)與編譯預(yù)處理一、單項(xiàng)選擇題1.C 2.B 3.B 4.B 5.A 6.B 7.A 8.C感謝閱讀9.D 10. A二、寫出下列程序的運(yùn)行結(jié)果1.92.4,B8,B3.-4.0000004.a(chǎn)=6,b=55.48三、編程題1.main(){intprime(intn);intn;printf("inputn(n>0):\n");謝謝閱讀scanf("%d",&n);if(prime(n))printf("%disasushu\n",n);謝謝閱讀elseprintf("%disnotasushu\n",n);精品文檔放心下載}**intprime(intn){intflag=1,i;for(i=2;i<=n/2&&flag==1;i++)感謝閱讀if(n%i==0)flag=0;return(flag);}2.#defineN 3convert(intarray[3][3]){inti,j,t;for(i=0;i<N-1;i++)for(j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}main(){inti,j;inta[N][N];printf("inputa:\n");for(i=0;i<N;i++)**for(j=0;j<N;j++)scanf("%d",&a[i][j]);printf("Arraya:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}convert(a);printf("adezhuanzhiis:\n");精品文檔放心下載for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}}#include<stdio.h>#include<string.h>main()感謝閱讀{charstr[100];printf("inputastring:\n");gets(str);感謝閱讀**inverse(str);printf("thereversedstringis:%s\n",str);感謝閱讀}inverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str)-1;i<j;i++,j--)感謝閱讀{t=str[i];str[i]=str[j];str[j]=t;}}#include<stdio.h>concat(charstr1[],charstr2[]){inti=0,j;謝謝閱讀while(str1[i]!='\0')i++;謝謝閱讀for(j=0;str2[j]!='\0';i++,j++)str1[i]=str2[j];str1[i]='\0';精品文檔放心下載**}main(){charstr1[100],str2[100];gets(str1);gets(str2);concat(str1,str2);puts(str1);}main(){charstr[80];printf("inputastring(4geshuzizifu):\n");scanf("%s",str);感謝閱讀insert(str);printf("resultis:\n%s\n",str);謝謝閱讀}insert(charstr[]){inti;for(i=strlen(str);i>0;i--)精品文檔放心下載{str[2*i]=str[i];str[2*i-1]='';精品文檔放心下載**}}6.#include"stdio.h"inti,ndight,nwhite,nletter,nother;感謝閱讀count(charstr[]){ndight=nwhite=nletter=nother=0;for(i=0;str[i]!='\0';i++)謝謝閱讀if(str[i]>='0'&&str[i]<='9')感謝閱讀ndight++;elseif((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))感謝閱讀nletter++;elseif(str[i]=='')nwhite++;else nother++;}main(){chartext[80];printf("inputastring:\n");感謝閱讀gets(text);**count(text);printf("ndight=%d,nletter=%d,nwhite=%d,nother感謝閱讀=%d\n",ndight,nletter,nwhite,nother);精品文檔放心下載}#defineN10#include<stdio.h>sort(charstr[])感謝閱讀{inti,j;chart;for(i=1;i<N;i++)for(j=0;j<N-i;j++)if(str[j]>str[j+1]){t=str[j];str[j]=str[j+1];str[j+1]=t;}精品文檔放心下載}main(){charstr[N];inti;printf("Input10 gezifu:\n");謝謝閱讀gets(str);sort(str);printf("Thesortedresult:\n");謝謝閱讀**for(i=0;i<N;i++)printf("%c",str[i]);}8.這題較復(fù)雜#include<stdio.h>#include<string.h>#defineN10voidinput_e(intnum[],charname[N][8])精品文檔放心下載{inti;for(i=0;i<N;i++){printf("inputgonghao:");感謝閱讀scanf("%d",&num[i]);printf("inputname:");getchar();gets(name[i]);}for(i=0;i<N;i++)printf("%5d%10s\n",num[i],name[i]);精品文檔放心下載}voidsort(intnum[],charname[N][8])精品文檔放心下載

/*選擇法排序*/{inti,j,min,temp1;**chartemp2[8];for(i=0;i<N-1;i++){min=i;for(j=i+1;j<N;j++)if(num[j]<num[min]) min=j;感謝閱讀temp1=num[i];strcpy(temp2,name[i]);num[i]=num[min];strcpy(name[i],name[min]);感謝閱讀num[min]=temp1;strcpy(name[min],temp2);}printf("thesortedresult:\n");感謝閱讀for(i=0;i<N;i++)printf("%5d%10s\n",num[i],name[i]);精品文檔放心下載}voidsearch(intn,intnum[],charname[N][8])/*折半查找法*/謝謝閱讀{inttop,bott,mid,find;find=0;top=0;**bott=N-1;if((n<num[0])||(n>num[N-1]))謝謝閱讀find=-1;while((find==0)&&(top<=bott))感謝閱讀{mid=(bott+top)/2;if(n==num[mid]){find=1;printf("%dnameis:%s\n",n,name[mid]);}精品文檔放心下載elseif(n<num[mid])bott=mid-1;elsetop=mid+1;}if((find==-1)||(find==0))精品文檔放心下載printf("%disnotfound.\n",n);精品文檔放心下載}main(){intnum[N],number,c,flag;charname[N][8];input_e(num,name);sort(num,name);for(flag=1;flag;)**{printf("pleaseinputchazhaodegonghao:");/*輸入查找的工號(hào)*/謝謝閱讀scanf("%d",&number);search(number,num,name);printf("continueY/N?"); /*是否繼續(xù)查找*/謝謝閱讀getchar();c=getchar();if(c=='N'||c=='n')flag=0;}}#include"stdio.h"#defineMAX10main()精品文檔放心下載{charstr[MAX];charc;inti;i=0;printf("inputnumber(16jinzhi):");/*輸入一個(gè)十六感謝閱讀進(jìn)制的數(shù)*/while((c=getchar())!='\n'&&i<MAX)謝謝閱讀**{str[i]=c;i++;}str[i]='\0';printf("resultis:%d\n",htod(str));精品文檔放心下載}inthtod(chars[]){inti,n;n=0;for(i=0;s[i]!='\0';i++){if(s[i]>='0'&&s[i]<='9')謝謝閱讀n=n*16+s[i]-'0';if(s[i]>='a'&&s[i]<='f')n=n*16+s[i]-'a'+10;if(s[i]>='A'&&s[i]<='F')n=n*16+s[i]-'A'+10;}return(n);}#defineSWAP(a,b)t=a;a=b;b=tmain()謝謝閱讀**{inta,b,t;printf("inputa,b:");scanf("%d,%d",&a,&b);SWAP(a,b);printf("result:a=%d,b=%d\n",a,b);精品文檔放心下載}#defineSURPLUS(a,b)((a)%(b))main()感謝閱讀{inta,b;printf("inputa,b:");scanf("%d,%d",&a,&b);感謝閱讀printf("resultis:%d\n",SURPLUS(a,b));謝謝閱讀}main(){inta,b,c;printf("inputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);謝謝閱讀printf("max=%d\n",max(a,b,c));謝謝閱讀}**intmax(intx,inty,intz)謝謝閱讀{intt;t=(x>y?x:y);return(t>z?t:z);}#define MAX(x,y)((x)>(y)?(x):(y))感謝閱讀main(){inta,b,c;printf("inputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);精品文檔放心下載printf("max=%d\n",MAX(MAX(a,b),c));感謝閱讀}#include"stdio.h"#defineCHANGE1#defineMAX80main()精品文檔放心下載{charstr[MAX];inti;printf("inputastring:\n");謝謝閱讀**gets(str);#if(CHANGE){for(i=0;str[i]!='\0';i++)謝謝閱讀if(str[i]>='a'&&str[i]<'z'||str[i]>='A'&&str[i]<'Z')精品文檔放心下載str[i]=str[i]+1;else if(str[i]=='z'||str[i]=='Z')精品文檔放心下載str[i]=str[i]-25;}#endifprintf("%s\n",str);}第七章指針一、選擇題1)A2)D3)D4)C5)B6)B7)B8)C9)B10)C11)A12)A13)A14)C15)B16)A17)C18)B19)D20)B二、閱讀下面程序,寫出程序運(yùn)行結(jié)果1)abcdeedcba2)11131517193)(TurboC中是11,97,11)(VisualC是9,97,11)4)365)6385**三、編程題1、main(){inta[10],i,temp,*p=a;printf("Pleaseinputarraya:\n");精品文檔放心下載for(i=0;i<10;i++)scanf("%d",&a[i]);printf("arraya:\n");for(i=0;i<10;i++)printf("%4d",a[i]);for(i=0;i<5;i++){temp=p[i];p[i]=p[10-i-1];p[10-i-1]=temp;}printf("\nNowarraya:\n");謝謝閱讀for(i=0;i<10;i++)printf("%4d",a[i]);}2、main(){inta[3][3],*p,i,j;printf("pleaseinputmatrix:\n");感謝閱讀for(i=0;i<3;i++)**for(j=0;j<3;j++)scanf("%d",&a[i][j]);p=&a[0][0];move(p);printf("\nNowmatrix:\n");謝謝閱讀for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}}move(int*q){inti,j,t;for(i=0;i<3;i++)for(j=i;j<3;j++){t=*(q+3*i+j);*(q+3*i+j)=*(q+3*j+i);*(q+3*j+i)=t;}}3、#include<stdlib.h>#include<alloc.h>**#include<string.h>#include<stdio.h>main(){intbinary();voidinsert();char*temp,*ptr1[6]={"BASIC","DATA","PASCAL","SQL","USE精品文檔放心下載"};inti;ptr1[5]=malloc(20);printf("\n");printf("originalstring:\n");精品文檔放心下載for(i=0;i<5;i++)printf("%s\n",ptr1[i]);printf("inputsearchstring:\n");謝謝閱讀temp=malloc(20);gets(temp);i=binary(ptr1,temp,5);printf("i=%d\n",i);insert(ptr1,temp,5,i);printf("outputstrings:\n");感謝閱讀**for(i=0;i<6;i++)printf("%s\n",ptr1[i]);}intbinary(char*ptr[],char*str,intn)謝謝閱讀{inthig,low,mid;low=0;hig=n-1;if(strcmp(str,ptr[0])<0)return(0);精品文檔放心下載if(strcmp(str,ptr[hig])>0)return(n);謝謝閱讀while(low<=hig){mid=(low+hig)/2;if(strcmp(str,ptr[mid])<0)精品文檔放心下載hig=mid-1;elseif(strcmp(str,ptr[mid])>0)謝謝閱讀low=mid+1;elsereturn(mid);}return(low);}voidinsert(char*ptr[],char*str,intn,inti)精品文檔放心下載{**intj;for(j=n;j>i;j--)strcpy(ptr[j],ptr[j-1]);strcpy(ptr[i],str);}4、main(){inti;char*p[6],str[6][20];for(i=0;i<6;i++)p[i]=str[i];printf("Input6strings:\n");精品文檔放心下載for(i=0;i<6;i++)scanf("%s",p[i]);sort(p);printf("Nowthestrings:\n");精品文檔放心下載for(i=0;i<6;i++)printf("%s\n",p[i]);}sort(char*q[]){inti,j;char*t;for(i=0;i<5;i++)**for(j=0;j<5-i;j++)if(strcmp(*(q+j),*(q+j+1))>0)感謝閱讀{t=*(q+j);*(q+j)=*(q+j+1);*(q+j+1)=t;}}5、main(){intm;charstr1[20],str2[20],*p1,*p2;謝謝閱讀printf("pleaseinputtwostrings:\n");精品文檔放心下載scanf("%s",str1);scanf("%s",str2);p1=str1;p2=str2;m=stringcmp(p1,p2);printf("resultis%d:\n",m);謝謝閱讀}stringcmp(char*p1,char*p2)謝謝閱讀{ inti=0;while(*(p1+i)==*(p2+i))if(*(p1+(i++))=='\0')return(0);精品文檔放心下載**return((*p1+i)-*(p2+i));}6、main(){charstr1[30],str2[30],str3[100];精品文檔放心下載inti=0,j=0,k=0;printf("pleaseinputtwostrings:\n");精品文檔放心下載scanf("%s",str1);scanf("%s",str2);while(str1[i]!='\0'&&str2[j]!='\0')謝謝閱讀{ str3[k++]=str1[i++];str3[k++]=str2[j++];}while(str1[i]!='\0')str3[k++]=str1[i++];while(str2[j]!='\0')str3[k++]=str2[j++];str3[k]='\0';printf("\n%s\n",str3);}第八章結(jié)構(gòu)體一、選擇題1、C2、B3、C4、D5、**B6、A 7、D 8、C 9、C 10、B二、填空題1、342、03、514、10,x三、編程題1、{float x;float y;}main(){

5、364041structcomplex/*實(shí)部*//*虛部*/structcomplex c1={5,3},c2={2,6};謝謝閱讀float t1,t2;t1=c1.x*c2.x-c1.y*c2.y;t2=c1.x*2.y+c1.y*c2.x;printf(“Thetwocomplexsproductis:”);printf(“%.2f%+.2fi\n”,t1,t2);}感謝閱讀**2.structstudent{charname[10];/*姓名*/intnumber;/*學(xué)號(hào)*/floatx;/*成績*/floaty;/*成績*/}main(){structstudents[45];inti;voidmax();voidaverage();voidsort();for(i=0;i<45;i++)scanf(“%s%d%f%d”,s[i].name,&s[i].number,&s[i]謝謝閱讀.x,&s[i].y);/*輸入學(xué)生的姓名、學(xué)號(hào)、兩門課程成績*/max(s,45);average(s,45);sort(s,45);}/*求每門課程的總成績*/**voidmax(structstudent*a,intn)精品文檔放心下載{floattemp;char na[10];inti,num;temp=a[0].x+a[0].y;for(i=1;i<n;i++)if(temp<a[i].x+a[i].y) /*求總分最高的學(xué)生姓名、學(xué)感謝閱讀號(hào)*/{temp=a[i].x+a[i].y;strcmp(na,a[i].name);num=a[i].number;}printf(“%s,%d”,na,num);}voidaverage(structstudent*b,intn)精品文檔放心下載{floataver1,aver2,s1,s2;int i;s1=s2=0;for(i=0;i<45;i++)**{s1+=b[i].x;s2+=b[i].y;}aver1=s1/45;aver2=s2/45;for(i=0;i<45;i++)if(b[i].x<aver1&&b[i].y<aver2)精品文檔放心下載/*輸出兩門課程都低于平均成績的學(xué)生*/printf(“%s,%d\n”,b[i].name,b[i].number);}精品文檔放心下載void sort(structstudent*c,intn)感謝閱讀{floatt;inti,j;structstudent temp;for(i=0;i<n-1;i++)考課本P89頁*/{k=i;for(j=i+1;j<n;j++)if(c[k].x<c[j].x)

/*改進(jìn)的選擇法排序可參**k=j;if(k!=i){temp=c[i];c[i]=c[k];c[k]=temp;}for(i=0;i<n;i++)printf(“%s,%.2f\n”,c[i].n,c[i].x);精品文檔放心下載}3. typedef structLjian{intpname;intwnum;structLjian*next;}Part;/*用戶自定義零件結(jié)構(gòu)體類型*/include“stdio.h”main(){intn=1;Part*head,*p1,*p2;head=NULL;精品文檔放心下載**p1=(Part*)malloc(sizeof(structLjian));精品文檔放心下載/*創(chuàng)建第一個(gè)結(jié)點(diǎn)*/scanf(“%d%d”,&p1->pname,&p1->wnum);精品文檔放心下載p1->next=NULL;while(n<=10) /*將結(jié)點(diǎn)加入鏈表*/{if(n==1)head=p1;/*是第一個(gè)結(jié)點(diǎn),作表頭*/else感謝閱讀p2->next=p1;/*不是第一個(gè)結(jié)點(diǎn),作表尾*/p2=p1;精品文檔放心下載p1=(Part*)malloc(sizeof(structLjian));謝謝閱讀/*開辟下一個(gè)結(jié)點(diǎn)*/scanf(“%d%d”,&p1->pname,&p1->wnum);感謝閱讀p1->next=NULL;n++;}}4.#include<stdlib.h>#includ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論