版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)習(xí)題3C語言程序設(shè)計(jì)習(xí)題3C語言程序設(shè)計(jì)習(xí)題3C語言程序設(shè)計(jì)習(xí)題3編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:習(xí)題3參考解答1.什么是算法常用描述算法的工具有哪些解:所謂算法,就是計(jì)算機(jī)解決某一個(gè)問題的具體方法和步驟。常用描述算法的工具有流程圖、N-S圖。2.試用流程圖表示求3個(gè)數(shù)中的最大數(shù)的算法。解:流程圖如圖1-1所示。圖1-1求3個(gè)數(shù)中的最大數(shù)的流程圖3.什么是結(jié)構(gòu)化程序設(shè)計(jì)它的主要內(nèi)容是什么解:結(jié)構(gòu)化程序設(shè)計(jì)(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。它的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計(jì)方法;使用3種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、循環(huán)這3種基本控制結(jié)構(gòu)構(gòu)造。4.從鍵盤輸入3個(gè)整數(shù),按照從小到大的順序輸出。解:#include<>intmain(){ inta,b,c,temp;scanf("%d,%d,%d",&a,&b,&c);if(a>b){temp=a;a=b;b=temp;}if(a>c){temp=a;a=c;c=temp;}if(b>c){temp=b;b=c;c=temp;}printf("%d,%d,%d\n",a,b,c);return0;}程序運(yùn)行情況如下:12,8,29↙8,12,295.輸入一個(gè)華氏溫度F,要求輸出攝氏溫度C。公式為要求要有文字說明,取兩位小數(shù)。解:#include<>intmain(){ floatf,c;printf("請輸入一個(gè)華氏溫度:\n");scanf("%f",&f);c=5*(f-32)/9;printf("%.2freturn0;}程序運(yùn)行情況如下:請輸入一個(gè)華氏溫度:36↙6.輸入一個(gè)三位整數(shù),要求輸出它的百位數(shù)、十位數(shù)和個(gè)位數(shù)。解:#include<>intmain(){ intnum;/*num表示一個(gè)三位整數(shù)*/inta,b,c;/*a,b,c分別表示百位、十位和個(gè)位上的數(shù)字*/scanf("%d",&num);a=num/100;b=(num-a*100)/10;c=num-a*100-b*10;printf("%d,%d,%d\n",a,b,c);return0;}程序運(yùn)行情況如下:123↙1,2,37.小紅有面值1分的硬幣638枚,可以兌換成幾元幾角剩余幾分說明:100枚1分的硬幣可以兌換成1元,10枚1分的硬幣可以兌換成1角。兌換原則是面額從大到小。解:#include<>intmain(){ inta=638;intyuan; intjiao; intfen,temp; yuan=a/100; temp=a%100; jiao=temp/10; fen=temp%10; printf("1元的數(shù)量:%d\n",yuan);printf("1角的數(shù)量:%d\n",jiao);printf("1分的數(shù)量:%d\n",fen); return0;}程序運(yùn)行結(jié)果如下:1元的數(shù)量:61角的數(shù)量:31分的數(shù)量:88.設(shè)圓柱的半徑為,圓柱的高為4,求圓柱的體積。用scanf函數(shù)輸入數(shù)據(jù),printf函數(shù)輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說明,取兩位小數(shù)。解:#include<>#definePIintmain(){ floatr,h,v; printf("Pleaseinputr,h:"); scanf("%f,%f",&r,&h); v=PI*r*r*h; printf("半徑為:%.2f,高為:%.2f的圓柱體體積為:%.2f\n",r,h,v); return0;}程序運(yùn)行情況如下:Pleaseinputr,h:,4↙半徑為:,高為:的圓柱體體積為:9.輸入三角形的三邊,計(jì)算三角形的面積。要求:對輸入的3個(gè)邊長進(jìn)行判斷,如果能構(gòu)成三角形,則計(jì)算三角形的面積;否則,則顯示“構(gòu)不成三角形!”信息。解:#include<>#include<>intmain(){ inta,b,c; floats,area; scanf("%d,%d,%d",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { s=(float)(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("面積為:%.2f\n",area); } else printf("邊長分別為%d、%d、%d的三邊構(gòu)不成三角形!\n",a,b,c); return0;}程序運(yùn)行情況如下:3,4,6↙面積為:3,6,12↙邊長分別為3、6、12的三邊構(gòu)不成三角形!10.設(shè)計(jì)一個(gè)C語言程序,求5個(gè)數(shù)中的最大數(shù)和最小數(shù)。解:#include<>intmain(){ inta,b,c,d,e,max,min; scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); max=min=a; if(b>max)max=b; if(b<min)min=b; if(c>max)max=c; if(c<min)min=c; if(d>max)max=d; if(d<min)min=d; if(e>max)max=e; if(e<min)min=e; printf("max:%d,min:%d\n",max,min); return0;}程序運(yùn)行情況如下:25689↙max:9,min:211.判斷輸入的字符屬于哪一類字符:大寫字母、小寫字母、數(shù)字還是其他字符。解:#include<>intmain(){ charch; scanf("%c",&ch);if(ch>=48&&ch<=57)printf("該字符為數(shù)字!"); elseif(ch>=65&&ch<=91) printf("該字符為大寫字母!"); elseif(ch>=97&&ch<=122)printf("該字符為小寫字母!");else printf("該字符為其他字符!"); return0;}程序運(yùn)行情況如下:2↙該字符為數(shù)字!12.用if語句和switch語句分別編寫程序,實(shí)現(xiàn)以下功能:從鍵盤輸入數(shù)字1,2,3,4,分別顯示Excellent,Good,Pass,F(xiàn)ail。輸入其他字符時(shí)顯示Error。解:/*用if語句編寫程序*/#include<>intmain(){charch;scanf("%c",&ch);if(ch=='1')printf("Excellent\n");elseif(ch=='2')printf("Good\n");elseif(ch=='3') printf("Pass\n");elseif(ch=='4')printf("Fail\n");elseprintf("Error\n");return0;}程序運(yùn)行情況如下:1↙Excellent/*用switch語句編寫程序*/#include<>intmain(){ charch;scanf("%c",&ch);switch(ch){ case'1':printf("Excellent\n");break;case'2':printf("Good\n");break;case'3':printf("Pass\n");break; case'4':printf("Fail\n");break;default:printf("Error\n");}}程序運(yùn)行情況如下:1↙Excellent13.假設(shè)國家對個(gè)人收入所得稅是按這樣的標(biāo)準(zhǔn)進(jìn)行的:起征點(diǎn)是2000元,2000~3000元為5%,3000~5000元為15%,5000~10000元為20%,10000元以上為30%。編程輸入工資,計(jì)算實(shí)際工資所得及稅金。解:#include<>intmain(){ intgz; floatsj; scanf("%d",&gz); if(gz<2000) { printf("不需要納稅!\n"); return; } elseif(gz<3000) sj=gz*; elseif(gz<5000)sj=gz*; elseif(gz<10000) sj=gz*; elsesj=gz*; printf("工資為:%d,稅金為:%.2f\n",gz,sj); return0;}程序運(yùn)行情況如下:1500↙不需要納稅!2800↙工資為:2800,稅金為:4500↙工資為:4500,稅金為:8500↙工資為:8500,稅金為:20000↙工資為:20000,稅金為:14.求方程ax2+bx+c=0的根。說明:當(dāng)b2-4ac>0時(shí),有兩個(gè)不等的實(shí)根;當(dāng)b2-4ac=0時(shí),有兩個(gè)相等的實(shí)根;當(dāng)b2-4ac解:#include<>#include<>intmain(){ inta,b,c; doubledelt,x1,x2; scanf("%d%d%d",&a,&b,&c);delt=b*b-4*a*c;if(delt==0) { printf("該方程有兩個(gè)相等的實(shí)根!"); x1=x2=-(double)b/(2*a); printf("%.2f,%.2f\n",x1,x2); } else if(delt>=0) { x1=(-b+sqrt(delt))/(2*a); x2=(-b-sqrt(delt))/(2*a); printf("%.2f,%.2f\n",x1,x2); } else printf("該方程無實(shí)根!\n");}程序運(yùn)行情況如下:345↙該方程無實(shí)根!462↙,441↙該方程有兩個(gè)相等的實(shí)根!,15.從1~100中找出能被5或7整除的數(shù)。解:#include<>intmain(){inti;for(i=1;i<=100;i++){if(i%5==0||i%7==0)printf("%5d",i);}return0;}程序運(yùn)行結(jié)果如下:557101415202125283035404245495055566063657075778084859091959810016.計(jì)算sum=1+11+111+1111+11111。解:#include<>intmain(){inti,t=0,s=0;for(i=1;i<=5;i++){t=t*10+1;printf("%d\n",t);s=s+t;}printf("%d",s);return0;}程序運(yùn)行結(jié)果如下:1111111111111111234517.輸入兩個(gè)正整數(shù)m和n,求出它們的最大公約數(shù)和最小公倍數(shù)。解:#include<>intmain(){ intm,n,t,gcd,gcm; inta,b; scanf("%d%d",&m,&n);t=m%n; a=m;b=n; while(t!=0) { m=n; n=t;t=m%n; } gcd=n; gcm=a*b/gcd; printf("%d和%d的最大公約數(shù)為:%d,最小公倍數(shù)為:%d\n",a,b,gcd,gcm); return0;}程序運(yùn)行情況如下:2515↙25和15的最大公約數(shù)為:5,最小公倍數(shù)為:7518.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。解:#include<>intmain(){ charch; intm=0;intk=0;intn=0;intt=0; ch=getchar(); while(ch!='\n') { if(ch==32) k++; elseif(ch>=48&&ch<=57) n++; elseif(ch>=65&&ch<=90||ch>=97&&ch<=122) m++; else t++;ch=getchar(); }printf("字母的個(gè)數(shù)為:%d\n",m);printf("空格的個(gè)數(shù)為:%d\n",k); printf("數(shù)字的個(gè)數(shù)為:%d\n",n);printf("其他字符的個(gè)數(shù)為:%d\n",t);return0;}程序運(yùn)行情況如下:123abcdefghyyyy;;;;;…11166@#%↙字母的個(gè)數(shù)為:12空格的個(gè)數(shù)為:2數(shù)字的個(gè)數(shù)為:8其他字符的個(gè)數(shù)為:1119.從鍵盤輸入10個(gè)學(xué)生的成績,試統(tǒng)計(jì)出他們的成績總和及平均值。解:#include<>intmain(){ floatcj,sum=0,aver;inti; for(i=1;i<=10;i++) { scanf("%f",&cj); sum=sum+cj; } aver=sum/10; printf("sum=%.2f,aver=%.2f",sum,aver); return0;}程序運(yùn)行情況如下:68757456787581767585↙sum=,aver=20.猴子吃桃問題。猴子第一天摘下了若干桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第4天早上想要再吃時(shí),只剩下一個(gè)桃子了。求第一天猴子共摘了多少桃子。解:#include<>intmain(){intn=1;inti;for(i=9;i>=1;i--){ n=2*(n+1);printf("%d\n",n);}return0;}程序運(yùn)行結(jié)果如下:410224694190382766153421.打印出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153就是一個(gè)水仙花數(shù),因?yàn)?53=13+53+33解:#include<>intmain(){ inti,bw,sw,gw;printf("水仙花數(shù)是:"); for(i=100;i<999;i++) { bw=i/100; sw=(i-bw*100)/10; gw=i-bw*100-sw*10;if(i==bw*bw*bw+sw*sw*sw+gw*gw*gw) printf("%5d",i); } printf("\n"); return0;}程序運(yùn)行結(jié)果如下:水仙花數(shù)是:15337037140722.用泰勒級數(shù)求e的近似值,直到最后一項(xiàng)小于10-6為止。e=1+1/1!+1/2!+1/3!+…+1/n!解:#include<>intmain(){inti=1; longf=1; doublet=1,e=1; while(t>=1e-6) { e=e+t; i=i+1; f=f*i; t=(double)1/f; } printf("%.3lf\n",e);return0;}程序運(yùn)行結(jié)果如下:23.輸入一個(gè)整數(shù),分解各位數(shù)字。例如,輸入“1298”,輸出“8-9-2解:#include<>intmain(){intnum,n1,n2; scanf("%d",&num); n2=num; while(n2!=0) { n1=n2%10; n2=n2/10; printf("%d-",n1); } printf("\n"); return0;}程序運(yùn)行情況如下:1298↙8-9-24.有一個(gè)分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8,21/13…求出這個(gè)數(shù)列的前20項(xiàng)之和。解:#include<>intmain(){inti;floatf,s=0;floatf1=1;floatf2=1;for(i=1;i<=20;i++){ f=f1+f2;f1=f2; f2=f;s=s+f2/f1;}printf("分?jǐn)?shù)序列之和為:%f",s);return0;}程序運(yùn)行結(jié)果如下:分?jǐn)?shù)序列之和為:25.打印出以下圖案。**************************解:#include<>intmain(){ inti,j;for(i=1;i<=4;i++) { for(j=1;j<20-i;j++)printf(""); for(j=1;j<=2*i-1;j++)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行行內(nèi)培訓(xùn)課程
- 培訓(xùn)師自我評價(jià)
- 陜西省扶風(fēng)縣扶風(fēng)高中2024-2025學(xué)年度高二物理上學(xué)期期中檢測試題
- 河南省鄭州市登封市2024-2025學(xué)年二年級上學(xué)期期中數(shù)學(xué)試題
- 2024--2025學(xué)年江蘇省宿遷市沭陽縣南湖初級中學(xué)八年級(上)第一次月考數(shù)學(xué)試卷(含答案)
- T-YNRZ 024-2024 黑老虎種植技術(shù)規(guī)程
- 內(nèi)蒙古自治區(qū)通遼市科爾沁左翼中旗聯(lián)盟校2024-2025學(xué)年三年級上學(xué)期期中考試英語試題
- 市場營銷學(xué)-企業(yè)管理出版社
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)4.4 任務(wù)3 資源記錄
- 語法填空專題復(fù)習(xí)練習(xí)及答案
- 粉塵爆炸風(fēng)險(xiǎn)評估記錄-危險(xiǎn)源辨識與評價(jià)表
- 中國歷史文化名城之-天津
- 余華讀書分享+名著導(dǎo)讀《我們生活在巨大的差距里》
- 煙花爆竹行業(yè)職業(yè)病危害因素識別與防控培訓(xùn)
- 《讀書的重要性》課件
- 天津市南開區(qū)2023-2024學(xué)年七年級上學(xué)期期中生物試卷
- 混凝土采購組織供應(yīng)、運(yùn)輸、售后服務(wù)方案
- 《心房顫動(dòng)診斷和治療中國指南2023》解讀
- KROHNE 質(zhì)量流量計(jì)產(chǎn)品介紹2022
- 親屬稱謂語社交稱謂語文化差異
- 立法學(xué) 第五版 課件 第1-8章 緒論-立法準(zhǔn)備
評論
0/150
提交評論