C程序設(shè)計教程與實驗第1-7章習(xí)題參考解答.docx_第1頁
C程序設(shè)計教程與實驗第1-7章習(xí)題參考解答.docx_第2頁
C程序設(shè)計教程與實驗第1-7章習(xí)題參考解答.docx_第3頁
C程序設(shè)計教程與實驗第1-7章習(xí)題參考解答.docx_第4頁
C程序設(shè)計教程與實驗第1-7章習(xí)題參考解答.docx_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章 習(xí)題解答一、選擇題 15 A D C D B 610 C C B B A二、填空題 1. 1 ,函數(shù)體 2. main() , main() 3. 編譯,目標(biāo) 4. .c, .obj, .exe 5. 縮進(jìn),無影響,/* */三、程序分析題 1. * Very good! * 2. a=12,b=5 a=17,b=22 3. r=5.50, s=95.033098 (計算結(jié)果四舍五入)第2章 習(xí)題解答一、選擇題15 BCDCD610 DBBCA二、填空題1單精度浮點型、雙精度浮點型、字符型203x%10*10+x/1045.555.7 206sin(sqrt(x*x)/(a*b)7,81111011 173 7B93 3103#includevoid main( ) int a,b;float c; printf(Please input data a,b: );scanf(%d%d,&a,&b);c=21%9-(float)a+4/b*b;printf(c=%5.2fn, c);#includevoid main()int a,b,c;printf(Please input data a,b: );scanf(%d%d,&a,&b);c=a*a-b*b;printf(c=%dn, c);三、程序分析題1 7,8,102 1,33. 5 F4 (int)i=12, 12.505 461579112第3章習(xí)題答案:一、選擇題12345678910DCA、BABBB、CBDD二、填空題1. 有窮性 確定性 可行性2. #3. 從終端(鍵盤)輸入一個字符4. m d5. 97 g6. 123.456000, 123.46, 1237. 格式控制符不正確(輸入數(shù)據(jù)時不能控制列寬和小數(shù)位數(shù))8. 63,63,77,3f9. %f%f &x,&y10. ch ch三、程序分析題1. c=112. a=123 f=4573. x=345 y=3.4600004. a=1,b=3 a=3,b=15. (題目需修改為:從鍵盤輸入一個除a和z以外的小寫字母)程序的功能:從鍵盤輸入一個除a和z以外的小寫字母,求出該字母對應(yīng)的大寫字母的前趨和后繼字母,然后順序輸出此三個大寫字母,每個字母所占列寬為3。運(yùn)行結(jié)果: 假如輸入:f 輸出: E F G第四章習(xí)題答案:一、選擇題12345678910BBCBCA CBACC二、填空題1. ! & |2. 13. a b4. 15. 06. x%4= =0 & x%100!=07. 5 68. A9. x10 & x5010. -1三、編程題1.#include#includevoid main() float x,y; scanf(%f, &x); if(x5) y=x*x-2; else if(x50) y=3*x+5; else y=x-sqrt(4*x-1); printf(x=%f, y=%.3fn, x,y);2#include#includevoid main( ) float a, b, c, s, area; scanf(%f,%f,%f, &a,&b,&c); if(a+bc & b+ca & a+cb) s=(a+b+c)/2; area=sqrt(s*(s*(s-a)*(s-b)*(s-c); printf(area=%fn,area); if(a=b & b=c) printf(等邊三角形n); else if(a=b | a=b | b=c) printf(等腰三角形n); else if(a*a + b*b= c*c)|(a*a + c*c= b*b)|(b*b + c*c = a*a) printf(直角三角形n); else printf(一般三角形n); else printf(不能組成三角形n);3#includevoid main( ) float n, r, s; int m; printf(請輸入獎金值:); scanf(%f, &n); if(n=6000) m=6; else m=n/1000; switch(m) case 0: r=0; break; case 1: r=0.05; break; case 2: r=0.08; break; case 3: case 4: case 5: r=0.1; break; case 6: r=0.15; break; s=n-r*n; printf(稅率r=%.0f%, 獎金值n=%.2f, 實際應(yīng)得獎金值s=%.2fn,r*100, n, s);4.#includevoid main( ) int a, b, c, d,t; scanf(%d,%d,%d,%d, &a,&b,&c,&d); if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; if(ad)t=a;a=d;d=t; if(bc)t=b;b=c;c=t; if(bd)t=b;b=d;d=t; if(cd)t=c;c=d;d=t; printf(%d %d %d %dn, a,b,c,d);5.#includevoid main( ) int num,i,j,k,m; printf(輸入一個少于4位的正整數(shù):); scanf(%d,&num); if(num=0 & num1000 & num=100) printf(是一個3位數(shù)n);m=num%10; /*求個位上的數(shù)字*/k=num/10%10; /*求十位上的數(shù)字*/ j=num/100; /*求百位上的數(shù)字*/ printf(逆序數(shù)為:%d%d%dn,m,k,j); else if(num=10) printf(是一個2位數(shù)n);m=num%10; /*求個位上的數(shù)字*/k=num/10; /*求十位上的數(shù)字*/ printf(逆序數(shù)為:%d%dn,m,k); else printf(是一個1位數(shù)n); printf(逆序數(shù)為:%dn,num); else printf(是一個無效的數(shù)n);第5章習(xí)題參考答案一、選擇題12345678910BCBCA BDBAB二 填空題1. 循環(huán) switch2. 4,7364. # # 5. 0 2 6. 18 7. 1 8. sum=80 9. (c=getchar() n:m10. i %13= =0 break三 程序分析題1. output1:21 6 output2: 5 6 output3: 5 7 72. n=73. Max=18 Min=34. 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=95. 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 2四、編程題1.#include stdio.hmain() char ch; int k=0; while(ch=getchar()!=n) if(ch=A | ch=a) k=k+1; printf(%dn,k);2. #include main()double term, result = 1;/*累乘項初值應(yīng)為1*/int n;for (n=2; n=100; n = n + 2) term=(double)( n * n)/(n-1)*(n+1);/*計算累乘項*/ result = result * term;printf(result = %fn, 2*result);3. #includemain()int x,y,z,count=0;for(x=1;x=28;x+) for(y=1;y=73;y+) z=100-x-y; if(5*x+2*y+z=150) count+; printf(%d,%d,%dn,x,y,z);printf(count=%dn,count);4.#include main()int x, y;for (x=1;x=97;x+) y=98-x;if(2*x+4*y=386) printf(雞=%d,兔=%d,x,y); 5.#include main() int n,i; printf(nplease input a number:n); scanf(%d,&n); printf(%d=,n); for(i=2;i=n;i+) while(n!=i) if(n%i=0) printf(%d*,i); n=n/i; else break; printf(%d,n);第6章習(xí)題參考答案一、選擇題12345678910DADBDCBDBD二 填空題1. 02. 14 m310 74. 數(shù)據(jù)類型 5. strcpy(S2,S1) #include 6. 0 3 7. 7,6 8. sum=0 i=j aij 9. 410. Tony三 程序分析題1. max=85 min=5 sum=180 aver=30.002. a=2 b=2 c=2 d=2 e=1 f=2 g=23. j=454. Ti_saCPorm Tss_Pgm5. 1 1 1 5四、編程題1從鍵盤輸入15個整數(shù),存放在數(shù)組中,找出其中最小數(shù)并指出其所在的位置。#include#define N 15main()int min,i,j,aN; printf(Enter N integers:n); for(i=0;iN;i+)scanf(%d,&ai);min=a0;for(i=1;iai) min=ai; j=i; printf(%d,%d,min,j);2將輸入的十進(jìn)制正整數(shù)化為十六進(jìn)制數(shù)。#include main()int i,x,j,a20;printf(請輸入一個正整數(shù):);while(1) scanf(%d,&x); if(x=0;j-)if(aj=9)printf(%d,aj);else if(aj=15)printf(%c,aj+A-10);printf(n);3從鍵盤輸入一行字符,統(tǒng)計其中有多少單詞,假設(shè)單詞之間以逗號分隔。#include void main() char string81; int i,num=0,word=0; char c; gets(string); for (i=0;(c=stringi)!=0;i+) if(c=,) word=0; else if(word=0) word=1;num+;printf(There are %d words in the line.n,num);4從鍵盤輸入一字符串,放在字符數(shù)組a中,將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素按從小到大排序。#include#includevoid main() char a80,t,m; int i,j,k; printf(請輸入一字符串:); gets(a); k=strlen(a); for(i=0;i=k-2;i+=2) m=i; for(j=i+2;jaj) m=j;if(m!=i) t=ai;ai=am;am=t; puts(a); printf(n); 第7章習(xí)題參考答案一、選擇題12345678910ADDBADCDBA二 填空題1. main()2. main()3函數(shù)首部4. 解決函數(shù)必須“定義在前,使用在后”的原則問題5. int6. 定義 調(diào)用 7. 地址傳遞 值傳遞 8. return void 9. void f(float a,float b) float f(float a,float b)10. static三 程序分析題1. a=482. 8,173. 27214. BASIC C COBOL FORTRAN PASCAL Smalltalk5. 6 1 2 3 6 5 4四、編程題1#include #includevoid main() int prime(int); int n; printf(Input an integer:); scanf(%d,&n); if (prime(n) printf(n %d is a prime.n,n); else printf(n %d is not a prime.n,n); int prime(int n) int flag=1,i; for (i=2; isqrt(n) & flag=1;i+) if (n%i=0) flag=0; return(flag); 2#include int MyStrcmp(char s, char t);main()char str120,str220;printf(Input string:);gets(str1);printf(Input another string:);gets(str2);if (MyStrcmp(str1,str2)0)printf(str1str2n);else if (MyStrcmp(str1,str2)0) printf(str1str2n); else printf(str1=str2n);int MyStrcmp(char s, char t) int i;for (i=0;si=ti; i+) if (si=0) return 0 ; return (si-ti);3.#include void main()void concatenate(char string1,char string2,char string); char s1100,s2100,s100; printf(input string1:); scanf(%s,s1); printf(input string2:); scanf(%s,s2); concatenate(s1,s2,s); printf(nThe new string is %sn,s); void concatenate(char string1,char string2,char string)int i,j; for (i=0;string1i!=0;i+) stringi=string1i; for(j=0;string2j!=0;j+) stringi+j=string2j; stringi+j=0;4.#include #define ARRSIZE 10 void MaxMinExchang(int a, int n)int maxValue=a0, minValue=a0, maxPos=0, minPos=0;int i, temp;for (i=1; i maxValue)maxValue = ai; maxPos = i; else if (ai minValue)minValue = ai; minPos = i; temp = amaxPos;amaxPos = aminPos;aminPos = temp;main()int aARRSIZE,i;printf(Input %d Numbers:n,ARRSIZE); for (i=0; iARRSIZE; i+)scanf(%d, &ai); MaxMinExchang(a, ARRSIZE);printf(After MaxMinExchange:n);for (i=0;iARRSIZE; i+)printf(%4d, ai);printf(n) ;5.#include #define N 3int arrayNN;void main() void convert(int array3);int i,j; printf(input array:n); for (i=0;iN;i+) for (j=0;jN;j+) scanf(

溫馨提示

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

評論

0/150

提交評論