




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序設(shè)計(jì)基礎(chǔ)-C語言(科學(xué)出版社教材)第三章-程序結(jié)構(gòu)教材習(xí)題答案1.0編寫程序使整形變量:a=3,b=4,c=5,p=0xfffe,q=0xffff;浮點(diǎn)型變量:x=1.2,y=2.4,z=3.6;無符號(hào)型變量:u=5127486,n=128765,字符型變量:c1=a,c2=b;#include void main()int a,b,c,p,q;float x,y,z;unsigned int u,n;char c1,c2;a=3;b=4;c=5;p=0xfffe;q=0xffff;x=1.2;y=2.4;z=-3.6;u=5127486;n=128765;c1=a;c2=b;printf(a=%d b=%d c=%dn,a,b,c);printf(p=%#x q=%#xn,p,q);printf(x=%f,y=%f,z=%fn,x,y,z); printf(x+y=%.2f y+z=%.2f x+z=%.2fn,x+y,y+z,x+z); printf(u=%8u n=%8un,u,n);printf(c1=%c or %dn,c1,c1);printf(c2=%c or %dn,c2,c2);2.0 讀入三個(gè)雙精度數(shù),求出它們的平均值并保留此平均值小數(shù)點(diǎn)后二位,最后輸出結(jié)果。#include void main()double a,b,c,d;printf(請(qǐng)輸入三個(gè)雙精度數(shù):);scanf(%lf,%lf,%lf,&a,&b,&c);d=(a+b+c)/3;printf(d=%.2lf,d );3.0 編寫一個(gè)程序,要求輸入三個(gè)整數(shù)值a,b,c,把c中的值賦給b, 把b中的值賦給a, 把a(bǔ)中的值賦給c,最后輸出a,b,c.#include void main()int a,b,c,t;printf(輸入三個(gè)整數(shù)值:);scanf(%d,%d,%d,&a,&b,&c);t=a;a=b;b=c;c=t;printf(a=%d,b=%d,c=%dn,a,b,c);4.0 編寫一個(gè)程序,要求輸入一個(gè)華氏溫度,輸出對(duì)于的攝氏溫度。華氏溫度與攝氏溫度轉(zhuǎn)換公式為:c=5/9*(F-32).結(jié)果保留二位小數(shù)。#include void main()float F;float C;printf(請(qǐng)輸入一個(gè)華氏溫度F=);scanf(%f,&F);C=5.0/9.0*(F-32.0);printf(對(duì)應(yīng)的攝氏溫度C=%.2fn,C);5.0 編寫一個(gè)程序,要求輸入一個(gè)三位數(shù),正確的分量出它的個(gè)位,十位,百位,并在屏幕顯示出來#include void main()int a,a100,a10,a1;printf(請(qǐng)輸入一個(gè)三位整數(shù):);scanf(%d,&a);if(100=a & a=999)a100=a/100;a=a%100;a10=a/10;a1=a%10;printf(百位數(shù)是%d,十位數(shù)是%d,個(gè)位數(shù)是%dn,a100,a10,a1);elseprintf(輸入的數(shù)據(jù)不是一個(gè)3位整數(shù)!n);60 編寫一個(gè)程序,輸入一個(gè)整數(shù),輸出它是奇數(shù)還是偶數(shù)#include void main()int a,b;printf(請(qǐng)輸入一個(gè)整數(shù):);scanf(%d,&a);b=a%2;if(b=0)printf(偶數(shù)a=%dn,a);elseprintf(奇數(shù)a=%dn,a);70 編寫程序,輸入x,對(duì)應(yīng)輸出Y值。#include void main()int x,y;printf(輸入x值:);scanf(%d,&x);if (x1) y=x;else if (1=x & x10) y=2*x-1;else y=3*x-11;printf(%dn,y);8.0 編寫一個(gè)程序,要求由鍵盤輸入3個(gè)數(shù),判斷它們是否能構(gòu)成三角形的三邊。若能,請(qǐng)判斷構(gòu)成的是等腰,等邊還是普通三角形。#include #include void main()unsigned int i_a,i_b,i_c;float f_s;printf(請(qǐng)輸入3個(gè)數(shù)作為三角形的三條邊,中間用空格隔開:);scanf(%u %u %u,&i_a,&i_b,&i_c);if(i_a+i_b)i_c & (i_a+i_c)i_b & (i_c+i_b)i_a)f_s=(float)(i_a+i_b+i_c)/2; f_s=sqrt(f_s*(f_s-i_a)*(f_s-i_b)*(f_s-i_c);printf(該3個(gè)數(shù)可構(gòu)成一個(gè)三角形,其面積是%.2fn,f_s);if(i_a=i_b)&(i_a=i_c) printf(該三角形是等邊三角形n); elseif(i_a=i_b) | (i_a=i_c) | (i_b=i_c) printf(該三角形是等腰三角形n); elseprintf(該三角形是一般三角形n); elseprintf(該3個(gè)數(shù)不能構(gòu)成一個(gè)三角形n); 9.0 編寫程序,輸入某年某月,求該月有多少天。#include void main()unsigned int i_Year,i_Month;char i_Days;printf(請(qǐng)輸入年月,中間用空格隔開:);scanf(%u %u,&i_Year,&i_Month);if(1=i_Month & i_Month=12)switch(i_Month)case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:i_Days=31;break;case 4:;case 6:;case 9:;case 11:i_Days=30;break;case 2:if(i_Year%4=0 & i_Year%100!=0 | i_Year%400=0) i_Days=29; else i_Days=28;printf(%d年%d月是%d天n,i_Year,i_Month,i_Days);elseprintf(月只能是112,輸入錯(cuò)誤,無法計(jì)算);10.0 編寫程序,對(duì)給定的一個(gè)百分制成績(jī),輸出對(duì)于的五分制成績(jī),設(shè)90分以上為A,80到89分為B,70到79分為C,60到69為D,60分以下為E,用IF和switch語句分部實(shí)現(xiàn)。#include void main()int i_a;/成績(jī)int i_grade;/成績(jī)等級(jí)printf(請(qǐng)輸入成績(jī):);scanf(%d,&i_a);printf(用if語句判斷的等級(jí)是:);if (i_a=90)printf(A);elseif(80=i_a & i_a=89)printf(B);elseif(70=i_a & i_a=79)printf(C);elseif(60=i_a & i_a=69)printf(D); elseprintf(E);printf(n);printf(用switch語句判斷的等級(jí)是:);i_grade=i_a/10;switch(i_a/10)case 10:;case 9:printf(A);break;case 8:printf(B);break;case 7:printf(C);break;case 6:printf(D);break;default:printf(E);printf(n);11循環(huán)輸入若干個(gè)數(shù)據(jù),以-1表示輸入結(jié)束,計(jì)算輸入的這些數(shù)據(jù)平均值。#include void main()int a;/記錄當(dāng)前輸入的數(shù)int num;/記錄當(dāng)前輸入的數(shù)據(jù)個(gè)數(shù)int sum;/記錄當(dāng)前所有數(shù)據(jù)的和float average;/記錄平均值/賦初值sum=0;num=0;/輸入開始printf(輸入一組整型數(shù)據(jù),如果輸入的數(shù)據(jù)是-1,則說明該組數(shù)據(jù)輸入完成,下面開始輸入n); scanf(%d,&a);while(a!=-1)num+;sum=sum+a; scanf(%d,&a);/輸入結(jié)束/計(jì)算和輸出if(num=0)printf(沒有輸入數(shù)據(jù),無平均數(shù)!);elseaverage=(float)sum/(float)num;/ 強(qiáng)制int轉(zhuǎn)換為float,然后計(jì)算,如果不要強(qiáng)制轉(zhuǎn)換,即average=sum/num,你可試一試,看結(jié)果有什么不同printf(輸入了%d個(gè)數(shù)據(jù),其平均數(shù)是:%.2fn,num,average);12 編程計(jì)算1+2+3+4+n的值超過500的第一個(gè)和值為多少;n的值為多少。#include void main()int i_n;int i_sum;/記錄和/每行最多輸出10個(gè)水仙花數(shù)i_sum=0;i_n=0;while(i_sum=500)i_n+;i_sum=i_sum+i_n;printf(1+2+3+4+.+n的值超過500的第1個(gè)和值=%d,n=%dn,i_sum,i_n);13計(jì)算出公式1!+2!+3!+10!的值#include void main()int i_a,i_b;int i_sum;/記錄和int i_jc;/記錄某個(gè)數(shù)的階乘i_sum=0;for(i_a=1;i_a=10;i_a+)/計(jì)算某個(gè)數(shù)i_a的階乘i_jc=1;for(i_b=1;i_b=i_a;i_b+)i_jc=i_jc*i_b;/階乘計(jì)算完畢i_sum=i_sum+i_jc;/計(jì)算和printf(1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%d,i_sum);14 輸出所有的水仙花數(shù),所謂的水仙花數(shù),是指一個(gè)三位數(shù),其各位數(shù)字的立方和等于它本身。列如153是一個(gè)水仙花數(shù),因?yàn)?53=13+53+33.解法一#include void main()int i_100,i_10,i_1;/記錄3位數(shù)的各位數(shù)字int i_num;/記錄水仙花數(shù)的個(gè)數(shù)/每行最多輸出10個(gè)水仙花數(shù)i_num=0;for(i_100=1;i_100=9;i_100+)for(i_10=0;i_10=9;i_10+)for(i_1=0;i_1=9;i_1+) if(i_100*100+i_10*10+i_1)=(i_100*i_100*i_100+i_10*i_10*i_10+i_1*i_1*i_1)/此時(shí)形成了一個(gè)水仙花數(shù)printf(%d ,i_100*100+i_10*10+i_1);i_num+;if(i_num % 10)=0)/已輸出了10個(gè)倍數(shù)的水仙花數(shù),下一個(gè)另起一行printf(n);printf(n共有%d個(gè)水仙花數(shù),i_num);15利用循環(huán),在屏幕上輸出如下圖案#include void main()int i_Rows;/輸出上三角*的行數(shù)int i_Row;/當(dāng)前輸出的第幾行int i_Blanks;/第i_Row行需輸出的空格數(shù)int i_Blank;/第i_Row行當(dāng)前輸出的第幾個(gè)空格int i_Starts;/第i_Row行需輸出的*個(gè)數(shù)int i_Start;/第i_Row行當(dāng)前輸出的第幾個(gè)*printf(請(qǐng)輸入上三角的行數(shù):);scanf(%d,&i_Rows);/輸出上三角for(i_Row=1;i_Row=i_Rows;i_Row+)i_Blanks=i_Rows-i_Row;/計(jì)算第i_Row需輸出的空格數(shù)i_Starts=(i_Row-1)*2+1;/計(jì)算第i_Row需輸出的*數(shù)/輸出第i_Row的空格for(i_Blank=1;i_Blank=i_Blanks;i_Blank+)printf(%c, );/空格輸出完畢/輸出第i_Row的*for(i_Start=1;i_Start=i_Starts;i_Start+)printf(%c,*);/*輸出完畢printf(n);/一行輸出完畢,換行/上三角輸出完畢/輸出下三角i_Rows=i_Rows-1;/下三角比上三角少一行for(i_Row=1;i_Row=i_Rows;i_Row+)i_Blanks=i_Row;/計(jì)算第i_Row需輸出的空格數(shù)i_Starts=(i_Rows-i_Row)*2+1;/計(jì)算第i_Row需輸出的*數(shù)/輸出第i_Row的空格for(i_Blank=1;i_Blank=i_Blanks;i_Blank+)printf(%c, );/空格輸出完畢/輸出第i_Row的*for(i_Start=1;i_Start=i_Starts;i_Start+)printf(%c,*);/*輸出完畢printf(n);/一行輸出完畢,換行/下三角輸出完畢 16 輸入二個(gè)整數(shù)M,N,計(jì)算它們的最大公約數(shù)和最小公倍數(shù)。#include void main() /統(tǒng)計(jì)任意位數(shù)的水仙花數(shù)int i_m,i_n;/兩個(gè)數(shù)據(jù)int i_max;/最大公約數(shù)inti_min;/最小公倍數(shù)printf(請(qǐng)輸入兩個(gè)數(shù)據(jù),
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 民事感情糾紛協(xié)議書
- 棋牌門面轉(zhuǎn)讓協(xié)議書
- 景觀改造拆遷協(xié)議書
- 柴油購買運(yùn)輸協(xié)議書
- 明蘭本草加盟協(xié)議書
- 機(jī)構(gòu)合作課程協(xié)議書
- 提供店鋪合作協(xié)議書
- 托人接送安全協(xié)議書
- 村鎮(zhèn)房屋利用協(xié)議書
- 木板買賣回收協(xié)議書
- 2023鋼膜結(jié)構(gòu)停車棚施工合同協(xié)議書
- 建設(shè)單位與施工單位安全生產(chǎn)協(xié)議書 標(biāo)準(zhǔn)版
- 小學(xué)生古詩詞知識(shí)競(jìng)賽題(附答案)
- 基于激光點(diǎn)云數(shù)據(jù)的三維模型構(gòu)建
- 企業(yè)零代碼應(yīng)用開發(fā)白皮書-2023.03
- 裝在套子里的人公開課
- 英文電影鑒賞知到章節(jié)答案智慧樹2023年北華大學(xué)
- (完整版)一年級(jí)必誦童謠、兒歌
- 新概念英語第三冊(cè)摘要寫作答案
- 北師大地理信息系統(tǒng)課件10 DEM與數(shù)字地形分析
- 湘雅教學(xué)科研樓初步設(shè)計(jì)成果報(bào)衛(wèi)計(jì)委最終修改稿
評(píng)論
0/150
提交評(píng)論