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

下載本文檔

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

文檔簡介

1、文檔從互聯(lián)網(wǎng)中收集,己重新修正排版,word格式支持編輯,如有幫助歡迎下載支持。C語言程序設(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è)

2、問題而采取的方法和步驟。 算法的特性:有窮性、確定性、輸入、輸出、可行性。4 示算法的方式:(1)用自然語言表示;(2)用流程圖 表示;(3)用NS流程圖表示;(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=

3、temp打印a,b,c的值4 . i=lsum=0以下程序循環(huán)100遍:sum=sum+ii=i+l打印sum的值5 .如果(n除以3的余數(shù)為0并且n除以5的余數(shù) 為0)6 能夠同時(shí)被3和5整除否則7 不能夠同時(shí)被3和5整除6. i=101以下語句循環(huán)50遍:j=2flag=l當(dāng)jv (i除以2的整數(shù)部分)時(shí)循環(huán)以下語句:如果i除以j的余數(shù)為零flag=O退出該循環(huán)如果flag=l打印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=M打印i的值8. da

4、ta=b*b4*a*c9. data > 010. 如果data=011. l=x2=一b/2否則無實(shí)數(shù)解三、編程題1. main ()(printf( " #n "); printf( " How do you do?n");printf( <<#nv ); )2. main ()(int a,b,c;scanf(u%d%d%d,&a,&b,&c);ptintf("sum=%d”,a+b+c);)第二章數(shù)據(jù)類型與表達(dá)式一、單項(xiàng)選擇題1. B 2. C 3. A 4. A 5. D 6. B 7.A8.

5、C9.D二、寫出下列程序的運(yùn)行結(jié)果1.aabb cc abcAN2.ab97983. 9,11,9,104.a=2,b=3,c=25.si =2.500000s2=3三、編程題main()(charcl=,c,c2='h',c3='i,c4=,n,c5='a,;cl=cl+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("%c%c%c%c%cnM,c I,c2,c3,c4,c5);)第三章順序程序設(shè)計(jì)選擇題1) B 2) D 3) D 4) A 5) A6) B 7) B 8) A 9) D 10) C 11)D 12

6、) A填空題l)b 2)2613)25 21 374) abc 5)5.0,4,c=36) 3編程題#define PI 3.1415926main()(float h, r, 1, sv, sz ;printf(“請輸入圓的半徑r,圓柱高h(yuǎn): n”); scanf(“%f,%f&h);1=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.2fn,5 1, s);printf(“求體積為:sv=%6.2f,圓柱體積為:sz=%6.2fnn, sv, sz);)

7、2、main()float c, f;printf(“請輸入一個(gè)華氏溫度:n”);scanf(“P, &f);c=5.0/9.0*(f-32);printf(“攝氏溫度為:6.2fn",c);)第四章循環(huán)程序設(shè)計(jì)一、選擇題l.D 2.D 3.D 4.C 5.D 6.A 7.B 8.B 9.A 12.A 13.B 14.C15.C 16.A 17.A 18.B 19.D 20.D 21.A二、填空題1 . 5858582 . 03 . 184 . 89215 . 2 0 , 06 . 67 . 1 , 3 , 28 . Year%400=0year%100!=0count+三、

8、編程題1.main() (long a;scanf("%ld”,&a);if (a>=10000&&a<=99999) printf(“這是個(gè)五位數(shù)”); else if (a>= 1000&&a<=9999) printf(“這是個(gè)四位數(shù)”); else if (a>= 100&&a<=999) printf(“這是個(gè)三位數(shù)”); else if (a>= 10&&a<=99) printf(“這是個(gè)二位數(shù)”); else if (a>=0&&

9、;a<=9) printf(“這是個(gè)一位數(shù)”); elseprintf(“輸入錯(cuò)誤”); )3、main()int a;int g,s,b;個(gè)位、十位、百位 printf("水仙花數(shù)有An”);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(H%d n,a);) printf(HnH); )4、main()int i,n;printf("input n:");scanf(n%dH,&n); printf("n%d=,n); fo

10、r(i=2;i<=n;i+) while(i!=n) if(n%i=0) printf(n%d*",i);n/=i;else break;)printf(H%dnn,n);)5、#include "stdio.h"main()(char c;int w,x,y,z;w=x=y=z=0;while(c=getchar()!=,ii?)(if(c>,a,&&c<,z,)|(c>,A,&&c<,Z,)w+;else if (c=,')x+;else if(c>'0'&&a

11、mp;cv'9)y+;else z+;)printf(“英文字母個(gè)數(shù):%dn",w);printf("空格個(gè)數(shù):%dn",x);printf("數(shù)字個(gè)數(shù):dn",y);printf("其他字母個(gè)數(shù):dn” ,z);)6、main()(float h=100,t=100;intj;for(j=l;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. B 2. A 3. C

12、 4. C 5. D 6. B 7.C8.B9.C 10. B二、寫出下列程序的運(yùn)行結(jié)果1. S=3682.2 2 7,T* rT*X*、X* *X* *x*T*T*T*2 2 2 7 7 7*3. Sl=18S2=104. ! margorP5.數(shù)字。的出現(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 三、編程題6. #include "stdio.h"main()int all;int i,

13、j,t;printf("input 10 number:nn);for (i=l;i<ll;i+)scanf(n%d",&ai);printf("nn);for (i=l;i<=9;i+)for (j=l;j<=10-i;j+)if(aU<aU+l)t=aU;aU=aU+l;aU+l=t; printf(nthe sorted number is:nn);for (i=l;i<ll;i+)printf(H%4du,ai);)7. #include "stdio.h"main()int all,i,b;pri

14、ntf("imput 10 sorted numberAn");for (i=0;i<10;i+) scanf(n%d",&ai);printf("input an integer:n");scanf(n%d'&b);for (i=9;i>=0&&ai>b;i-)ai+l=ai;ai+l=b;printf("sorted numbers:nn);for (i=0;i<ll;i+)printf(H%5d",ai);)8. #include "stdio.

15、h"main()int a,/*輸入5個(gè)整數(shù)*/*逆序存放*/*逆序存放后重新輸printf("input 5 integerAn");for (i=0;i<5;i+) scanf(n%d'&ai);for (i=0j=4;i<j;i+,j-)t=ai;ai=aj;aj=t;for (i=0;i<5;i+)出*/printf(H%5d",ai);)9. #include "stdio.h"main()lOword格式支持編輯,如有幫助歡迎下載支持。inti,j,a1010=l,l,l;for (i=2

16、;i<10;i+)組每個(gè)元素賦值*/*給二維數(shù)ai0=l;for (j=l;j<=i;j+)aiU=aMU-l+ai.lU;)for (i=0;i<10;i+)數(shù)組*/for (j=O;j<=i;j+)printf(“-5d”,ai 皿); printf("nn);)5. #include "stdio.h"main()int a34,ij,max,row,col;printf(Hinput 3*4 matrix:nH);for (i=0;i<3;i+)for (j=0;j<4;j+) scanf(n%d",&

17、ai|j);max=a00; row=0; col=0;/*輸出二維/*輸入3*4矩陣刃for (i=0;i<3;i+)/*尋找矩陣中的最大值及其行列號(hào)*/for (j=0;j<4;j+)if (max<aij)max=aij; row=i, col=j;printf("n數(shù)組中最大的數(shù)是d,其行號(hào)是d,列號(hào) M%dn",max,row,col);)6. #define N 3#define M 4#include "stdio.h"main()int aNM,i,j,k,max,row,col;printf("input %

18、d*%d matrix: n",N,M);for (i=0;i<N;i+)/* 輸入二維矩陣*/for (j=O;j<M;j+)scanf(H%du,&aij);for (i=0;i<N;i+)/* 求鞍點(diǎn) */max=ai0; row=i; col=0;for(j= 1 ;j<M;j+)/*求矩陣中每一行的最大值及其所行列號(hào)*/if (max<aij)max=aij; col=j;for (k=0;k<N;k+)/*判斷每一行的最大值在其所在列是否最大*/if (akcol<max)break;if (k=N)/*得到鞍點(diǎn)*/pri

19、ntf(nthepointis %d,row=%d,col=%dn,max,row,col);break;)if (i=N)/*沒有鞍點(diǎn)*/printf("no pointn");)7. #include "stdio.h"main()int num=0,word=0;/*word=0表示未出現(xiàn)單詞,如出現(xiàn)單詞就置word為 l.num用來統(tǒng)計(jì)單詞個(gè)數(shù)*/char c;printf(Hplease input a string :nM);while (c=getchar()!=,n,)if (c=)word=0;else if (word=0)word=

20、 1; num+;printf(HThere are %d words in the linenn,num);)8. #include "stdio.h"main()int i,j,uppn,lown,dign,span,othn;/*uppn,lown,dign,span,othn分別存放英文大寫字母、小寫 字母、數(shù)字、空格和其他字符的個(gè)數(shù)*/char text380;uppn=lown=dign=span=othn=0;for(i=0;i<3;i+)gets(texti);for(j=0;j<80&&textij!=,0,;j+)if(tex

21、tij>=,A,&&textij<=,Z,)uppn+;else if(textij>='a,&&texti)<=7')k)wn+;else if(textij>=,0,&&texti|j<=,9,)dign+;else if(textij=, f)span+;elseothn+;)for(i=0;i<3;i+)printf(H%sn",texti);printf("uppn=%dn',uppn);printf("lown=%dn",lown

22、);printf("dign=%dn',dign);printf(,'span=%dn',span);printf("othn=%dnu,othn);)9. #include "stdio.h"main()int i,j;char strl 20,str220;printf(Hinput two strings:nM);gets(strl);gets(str2);j=strlen(strl);/*求字符串1的長度*/for (i=0;str2i!='0'i+,j+)/*字符串合并*/strlj=str2i;strl

23、UJO*;/*加上字符串結(jié)束標(biāo)志*/puts(strl);)10. #include "stdio.h"main()int i,n;char strl 20,str220;printf("input two strings:(no more than 20 characters)");gets(strl); gets(str2);n=strlen(strl)<strlen(str2)?strlen(strl):strlen(str2); /*n 中存 放較短字符串的長度*/for (i=0;i<n&&strl i=str2i;

24、i+);printf("%dnn,strli-str2i);)第六章函數(shù)與編譯預(yù)處理一、單項(xiàng)選擇題1. C 2. B 3. B 4. B 5. A 6. B 7.A8.C9.D 10. A二、寫出下列程序的運(yùn)行結(jié)果1. 92. 4,B8,B3. -4.0000004. a=6,b=55. 48三、編程題1. main() int prime(int n);int n;printf("input n(n>0):nu);scanf(n%dH,&n);if (prime(n)printf(H%d is a sushunH,n);else printf("%

25、d is not a sushun",n);)int prime(int n)int flag=l,i;for (i=2;i<=n/2&&flag=l;i+)if (n%i=0) flag=0;return(flag);)2.#define N 3 convert(int array33) intfor (i=0;i<N-l;i+) for (j=i+l;j<N;j+) t=arrayij;arrayij=arrayji; array ji=t;) main() int i,j; int aNN; printf("input a:n&quo

26、t;); for (i=0;i<N;i+) for (j=O;j<N;j+) scanf(H%dH,&aij); printf("Array a:nn); for (i=0;i<N;i+) for (j=O;j<N;j+) printf("%5dn,aiU); printf(nnn);convert(a);printf(Ha de zhuanzhi is:nH);for (i=0;i<N;i+)for (j=O;j<N;j+)printf("5d”,ai 皿); printf("nn);)3. #include

27、 <stdio.h>#include <string.h> main()char str100;printf(Hinput a string:nH);gets(str);inverse(str);printf(nthe reversed string is:%snM,str);)inverse(char str)(char t;int i,j;for (i=OJ=strlen(str)-l ;i<j;i+,j-) (t=stri;stri=strj;strj=t;)4. #include <stdio.h>concat(char str 1,char

28、str2) int i=0,j;while (strli!='O')i+;for (j=0;str2j !='0,;i+,j+) strli=str2|j;)main()(char strll 00 ,str2 100;gets(str l);gets(str2);concat(strl,str2);puts(strl);5. main()char str8O;printf(Hinput a string (4 ge shu zi zi fu):nH); scanf(n%sn,str);insert(str);printf(Hresult is:n%snn,str);)

29、insert(char str)(int i;for (i=strlen(str);i>O;i-)(str2*i=stri;)6. #include "stdio.h"int i,ndight,nwhite,nletter,nother;count(char str)(ndight=nwhite=nletter=nother=0;for (i=O;stri!=,O,;i+)if (stri>=>0,&&stri<=,9,)ndight+;elseif(stri>=,A,&&stri<=,Z,)ll(stri

30、>=,a'&&stri<=,z,)nletter+;else if (stri= ')nwhite+;else nother+;)main()(char text80;printf(Hinput a string:nM);gets(text);count(text);printf(Hndight=%d,nletter=%d,nwhite=%d,nother=%dn,n dight,nletter,n white,nother);)7. #define N 10#inclucle <stdio.h>sort(char str)intij;c

31、har t;for (i=l;i<N;i+)for (j=O;j<N-i;j+) if (strj>strj+l) t=strj;strj=strj+l ;strj+l=t; )main() (char strN;int i ;printf("Input 10 ge zi fu:n");gets(str);sort(str);printf("The sorted resultAn");for(i=0;i<N;i+) printf("%c",stri);)8. 這題較復(fù)雜#include <stdio.h&

32、gt;#include <string.h>#define N 10void input_e(int num,char nameN8)inti;for (i=0;i<N;i+) printf(Hinput gong hao:H);scanf(n%dH,&numi);printf(Hinput name:");getchar();gets(namei);)for (i=0;i<N;i+)printf("%5d%10snH,numi,namei);)void sort(int num,char nameN8)/*選擇法排序*/int i,j,mi

33、n,templ;char temp28;for (i=0;i<N-l;i+)min=i;for (j=i+l;j<N;j+)if (numj<nummin) min=j;templ=numi;strcpy(temp2,namei);numi=nummin;strcpy(namei,namemin);nummin=templ;strcpy (namemin ,temp2);)printf("the sorted result:nH);for (i=0;i<N;i+)printf("%5d%10sn',numi,namei);)void sear

34、ch(int n,int num,char nameN8) /*折半查找 法*/(int top,bott,mid,find;find=0;top=0;bott=N-l;if (n<numO)ll(n>numN-l)find=-l;while (find=0)&&(top<=bott)mid=(bott+top)/2;if (n=nummid)find=l; printf("%d name is:%sn”,n,namemid);else if (n<nummid)bott=mid-1;else top=mid+1;)if(find=-l)ll(

35、find=O)printf("%d is not found.nn,n);)main()(int numN,number,c,flag;char nameN8;input_e(num,name);sort(num,name);for (flag=l;flag;)printf(Hplease input chazhao de gonghao:n); /*輸入查 找的工號(hào)*/scanf(n%dH,&number);search(number,num,name);printf(Hcontinue Y/N?n);/* 是否繼續(xù)查找*/getchar();c=getchar();if

36、(c=,N'llc=,n,)flag=0;9. #include "stdio.h"#define MAX 10main()(char strMAX;char c;int i;i=0;printf(”input number(16 jinzhi): "); /*輸入一個(gè)十六進(jìn)制的數(shù)*/while(c=getchar()!=,n,&&i<MAX) stri=c;i+;)stri=,O,;printf("result is :%dn",htod(str);)int htod(char s)(int i,n;n=0;fo

37、r(i=0;si!=,0,;i+)if (si>=,0,&&si<=,9,) n=n*16+si-'0,;if (si>='a,&&si<=T)n=n*16+si-a,+10;if (si>=,A,&&si<=,F,)n=n*16+si-'A'+10;)return(n);)10. #define SWAP(a,b) t=a;a=b;b=t main()(int a,b,t;printf("input a,b:n);scanf(H%d,%du,&a,&b

38、);SWAP(a,b);printf("result:a=%d,b=%dnH,a,b);)11. #define SURPLUS(a,b) (a)%(b) main()int a,b;printf("input a,b:n);scanf(H%d,%du,&a,&b);printf("result is: %dnn,SURPLUS(a,b); )12. main()(int a,b,c;printf("input a,b,c:H);scanf("d,%d,%d”,&a,&b,&c);printf(Hmax=

39、%dn,max(a,b,c);)int max(int xjnt y,int z)(int t;t=(x>y ? x : y);return(t>z?t:z);)#define MAX(x,y) (x)>(y)?(x):(y)main()int a,b,c;printf("input a,b,c:H);scanf(n%d,%d,%d'&a,&b,&c);printf("max=%dnn,MAX(MAX(a,b),c);)13. #include "stdio.h"# define CHANGE 1# de

40、fine MAX 80main()(char strMAX;int i;printf("input a stringAn");gets(str);# if (CHANGE) for (i=O;stri!=,O,;i+)if (stri>=,a,&&stri<,z'llstri>=,A'&&stri<'Z') stri=stri+l;else if (stri=,z,llstri=,Z,)stri=stri-25;)#endifprintf(H%sn,str);第七章指針一、選擇題1 )

41、A 2) D 3) D 4) C 5) B6)B7)B8)C9)B10)C11)A 12) A 13) A 14) C 15) B 16)A 17) C 18) B 19) D 20) B二、閱讀下面程序,寫出程序運(yùn)行結(jié)果2 ) abcdeedcba2 ) 193) (TurboC 中是 11,97,11 ) (VisualC 是 9, 97, 11)4) 3 65) 6385三、編程題1 > main() int a10,i,temp,*p=a; printf("Please input array a:n"); for(i=0;i<10;i+) scanf(

42、n%d",&ai);printfC'array a:n");for(i=0;i<10;i+) printf(H%4dn,ai);for(i=0;i<5;i+) temp=pi;pi=p10-i-l;p10-i-l=temp;)printf(nn Now array a:nH);for(i=0;i<10;i+)printf(H%4dn,ai);)2、main()int a33,*p,i,j;printf(nplease input matrixAn");for(i=0;i<3;i+)for(j=0;j<3;j+) sca

43、nf(n%dH,&aij);p=&aOO;move(p);printf(Hn Now matrix:nn);for(i=0;i<3;i+) for(j=0;j<3;j+)printf("%4daiU);printf(nnn);move(int *q) intfor(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 <st

44、ring.h>#include <stdio.h>main()(int binary();void insert();char*temp,*ptrl 6= nBASICn,"DATA","PASCAL",nSQLn,nUSEn)int i;ptr 1 5=malloc(20);printf("nH);printf(Horiginal string:nn);for(i=0;i<5;i+)printf(u%snn,ptrl i);printf(Hinput search string:nn);temp=malloc(20);

45、gets(temp);i=binary(ptrl,temp,5);printf(Hi=%dnn,i);insert(ptrl,temp,5,i);printf(noutput strings:nn);for(i=0;i<6;i+)printf("%sn",ptrli);)int binary(char *ptr,char *str,int n)int hig,low,mid;low=0;hig=n-l;if(strcmp(str,ptrO)<O) return(O);if(strcmp(str,ptrhig)>O) return(n);while(low&

46、lt;=hig)(mid=(low+hig)/2;if(strcmp(str,ptrmid)<0)hig=mid-l;else if(strcmp(str,ptrmid)>0) low=mid+l;else return(mid);)return(low);)void insert(char *ptr口,char *strjnt n,int i)(intj;for(j=n;j>i;j-)strcpy(ptrj,ptrj-l);strcpy(ptri,str);)4> main() int i;char *p6,str620;for(i=0;i<6;i+)pi=st

47、ri;printf("Input 6 strings:n");for(i=0;i<6;i+) scanf(n%s",pi); sort(p);printf("Now the stringsAn"); for(i=0;i<6;i+) printf("sn”,pi);)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+l);*(q+j+l

48、)=t;)5、main() int m;char strl 20,str220,*p 1 ,*p2;printf(nplease input two strings:nH);scanf("s”,strl);scanf(n%s",str2);pl=strl;p2=str2;m=stringcmp(p 1 ,p2);printf("result is %d:nn,m);)stringcmp(char *pl,char *p2) int i=0;while(*(pl+i)=*(p2+i)if(*(pl +(i+)=,0,) return(O);return(*p 1 +

49、i)-*(p2+i);)6、main() char str 1 30,str230,str3 100;int i=O,j=O,k=O;printf(nplease input two strings:nn);scanf(n%sn,strl);scanf(n%sH,str2);while(strli!='0 && str2j!=,0!) str3k+=strl i+;str3k+=str2j+;)while(strli!='O')str3k+=strl i+;while(str2j!=,0,)str3 k+=str2j+;str3k=,O,;printf(

50、un% snn ,str3);第八章 結(jié)構(gòu)體一、選擇題1、C 2、BB6、A 7、DB二、填空題1、34514、 10, x三、編程題1、3、C8、C2、05、 364041struct complex4、D5、9、 C10、3、floatx;/*實(shí)部刃floaty;/* 虛部*/)main()(struct complex cl=5,3,c2=2,6;float tl42;tl=cl.x*c2.x - cl.y*c2.y;t2=cl.x*2.y + cl.y*c2.x;printf(uTlie two complexs product is:");piintf(“.2f%+.2f,

51、t2);)2 .struct student(charname10; /* 姓名*/intnumber;/* 學(xué)號(hào)*/float x; /* 成績*/float y; /* 成績 */)main()struct student s45;int i;void max();void average();void sort();for (i=0;i<45;i+)scanf(tt%s%d%f%d,,&si.number,&si.x,&si.y);/*輸入學(xué)生的姓名、學(xué)號(hào)、兩門課程成績*/max(s,45);average(s,45);sort(s,45);)

52、void max(struct student *a,int n)(float temp;char na10;int i ,num;temp=a0 .x+a0 .y;for (i=l;i<n;i+)if(temp<ai.x+ai.y) /*求總分最高的學(xué)生姓名、學(xué)號(hào)temp=ai.x+ai.y;strcmp(na,);num=ai.number;)piintf("%s,%d",na,num);)void average(struct student *b,int n)(float averl,aver2,sl,s2;int i ;sl=s2=0;f

53、or(i=0;i<45;i+)/*求每門課程的總成績*/(sl+=bi.x;s2+=bi.y;)aver l=s 1/45;aver2=s2/45;for(i=0;i<45;i+)if(bi.x<averl&&bi.y<aver2)/*輸出兩門課程都低于平均成績的學(xué)生*/printf("%s,%dn'',,bi.nuinbet);)void sort(struct student *c,int n)(float t;int ij ;struct student temp;for (i=0;i<n-l;i+)/

54、*改進(jìn)的選擇法排序可參考課本P89頁*/(k=i ;for(j=i+l;j<n;j+)if(ck.x<cj.x)k=j;if(k!=i)(temp=ci;ci=ck;ck=temp;)for(i=0;i<n;i+)3 .typedef struct Ljian(int pname;int wnum;struct Ljian *next;Part;/*用戶自定義零件結(jié)構(gòu)體類型*/# include “stdio.h" main() (int n=l;Part *head,*pl,*p2;head=NULL;pl=( Part * ) malloc (sizeof(st

55、ruct Ljian);/*創(chuàng)建第一個(gè)結(jié)點(diǎn)*/scanf("%d%d”,&p l->pname,&p 1 ->wnum);pl->next=NULL;while(n<= 10)/*將結(jié)點(diǎn)加入鏈表*/(if(n=l)head=p 1;/*是第一個(gè)結(jié)點(diǎn),作表頭*/elsep2->next=p 1;/*不是第一個(gè)結(jié)點(diǎn),作表尾*/p2=pl;pl=( Part *) malloc(sizeof(struct Ljian);/*開辟下一個(gè)結(jié)點(diǎn)*/scanf("%d%d”,&p l->pname,&p l->wnum);pl->next=NULL;n+;) ) 4.#include<stdlib.h>#include<stdio.h>#include<conio.h>#de

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論