




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.5 實(shí)驗(yàn)三 選擇結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康呐c要求1. 理解C語(yǔ)言表示邏輯量的方法,學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式。2. 掌握利用if結(jié)構(gòu)實(shí)現(xiàn)選擇結(jié)構(gòu)的方法。3. 掌握利用switch結(jié)構(gòu)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。4 結(jié)合程序掌握一些簡(jiǎn)單的算法,學(xué)習(xí)調(diào)試程序5 實(shí)驗(yàn)4學(xué)時(shí)二、實(shí)驗(yàn)內(nèi)容1程序改錯(cuò)題改正下面程序中的錯(cuò)誤。輸入實(shí)數(shù)x,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留1位小數(shù))。 輸入輸出示例1(改正后程序的運(yùn)行結(jié)果)Enter x:100f(100.00)= 0.1輸入輸出示例2(改正后程序的運(yùn)行結(jié)果)Enter x:23f(23.00)= 23.0源程序(有錯(cuò)誤的程序)#include<
2、;stdio.h>#include<math.h>void main(void)double x;printf("Enter x: n");scanf("=%f", x);if (x = 100) y = 1/sqrt(x)else (x != 100) y = x;printf("f(%.2f) = %.1fn",x,y);答:#include<stdio.h> #include<math.h> void main(void) double x,y; printf("Enter x
3、:n"); scanf("%lf",&x); if (x=100)y = 1/sqrt(x); else y= x;printf("f(%.2lf)=%.1lfn",x,y); 2一般編程題編程題1 輸入任意三個(gè)整數(shù)a,b,c,求3個(gè)數(shù)中的最大值和最小值。答:#include <stdio.h>void main() int a,b,c; printf("請(qǐng)輸入三個(gè)整數(shù):"); scanf("%d %d %d",&a,&b,&c); if (a>=b) t
4、=a,a=b,b=t; if (a>=c) t=a,a=c,c=t; if (b>=c) t=b,b=c,c=t; printf("最小值為:%dn",a); printf("最大值為:%dn",c);編程題2輸入x,計(jì)算并輸出下面分段函數(shù)f(x)的值(保留2位小數(shù))。請(qǐng)調(diào)用sqrt函數(shù)求平方根,調(diào)用pow函數(shù)求冪。 輸入輸出示例(共運(yùn)行3次)Enter x:10f(10.00) = 3.16Enter x:0.5f(0.50) = 2.75Enter x:0f(0.00) = 0.00成本答:#include<stdio.h>#
5、include<math.h>void main()double x,y;printf("Enter x:n");scanf("%lf",&x);if (x<0)y=pow(1+x,2)+2*x+1/x;elsey=sqrt(x);printf("f(%.2f)=%.2fn",x,y); 編程題3有一函數(shù): x (-5<x<0) y= x-1 (x=0) x+1 (0<x<10)編寫(xiě)程序,要求用scanf函數(shù)輸入x的值,輸出y的值。具體要求如下:(1)用if語(yǔ)句實(shí)現(xiàn)分支,自變量和函數(shù)值
6、均用實(shí)數(shù)類(lèi)型。(2)自變量用scanf函數(shù)輸入,給一些輸入提示。(3)運(yùn)行程序,輸入x的值(分別為-5<x<0,x=0,0<x<10)三種情況,檢查輸出的y值是否正確。答:#include<stdio.h>#include<math.h>void main()double x,y;printf("Enter x:n");scanf("%lf",&x);if (x>0&&x<10) y=x+1; else if (x=0)y=x-1; else if (x>-5&am
7、p;&x<0)y=x; printf("f(%.2f)=%.2fn",x,y); 編程題4 某服裝店經(jīng)營(yíng)成套服裝的買(mǎi)賣(mài),同時(shí)也允許單件銷(xiāo)售。若一次購(gòu)買(mǎi)不少于70套,則每套90元;若不足70套,則每套110元;只買(mǎi)上衣每件70元;只買(mǎi)褲子每條60元。請(qǐng)編寫(xiě)程序假設(shè)用戶(hù)買(mǎi)入x件上衣和y條褲子,請(qǐng)編寫(xiě)程序計(jì)算相應(yīng)的應(yīng)付款是多少?答:#include<stdio.h>#include<math.h>void main()double x,y,z;printf("輸入上衣x件,褲子y件:n");scanf("%lf%
8、lf",&x,&y);if (x>=y&&y>=70)z=90*y+70*(x-y);else if (y>=x&&x>=70)z=90*x+60*(y-x);else if (x>y&&y<70)z=110*y+70*(x-y);else if (y>x&&x<70)z=110*x+60*y-x;printf("應(yīng)付:%.3f(元)n",z);編程題5編寫(xiě)程序?qū)崿F(xiàn):輸入一個(gè)整數(shù),判斷它能否被3 、5 、7整除,同時(shí)輸出如下信息。(1)
9、能同時(shí)被3 、5 、7整除;(2) 能同時(shí)被其中的哪二個(gè)數(shù)整除;(3) 能被其中的哪一個(gè)數(shù)整除;(4) 不能被3 、5 、7任一個(gè)數(shù)整除。答:#include<stdio.h>void main()int x,a,b,c,d;scanf("%d",&x);a=x%3;a=a/a*100;b=x%5;b=b/b*10;c=x%7;d=a+b+c;switch(d)case 100:printf("能被5,7整除n");case 10 :printf("能被3,7整除n");case 1 :printf("能
10、被3,5整除n");case 110:printf("能被7整除n");case 101:printf("能被5整除n");case 11 :printf("能被3整除n");case 111:printf("不能被3,5,7整除n");case 0 :printf("能被3,5,7整除n");3較難編程題編程題1請(qǐng)用switch語(yǔ)句編程計(jì)算員工每月的薪水。(exph3_1.cpp) 已知某公司員工的保底薪水為500,某月所接工程的利潤(rùn)profit(整數(shù))與提成的關(guān)系如下(計(jì)量單位:元
11、): profit1000 沒(méi)有提成;1000profit2000提成10%;2000profit5000提成15%;5000profit10000提成20%;10000profit 提成25%。分析:為使用switch語(yǔ)句,必須將利潤(rùn)profit與提成的關(guān)系,轉(zhuǎn)換成某些整數(shù)與提成的關(guān)系。分析本題可知,提成的變化點(diǎn)都是1000的整數(shù)倍(1000、2000、5000、),如果將利潤(rùn)profit整除1000,則相鄰兩個(gè)區(qū)間的重疊。為解決相鄰兩個(gè)區(qū)間的重疊問(wèn)題,最簡(jiǎn)單的方法就是:利潤(rùn)profit先減1(最小增量),然后再整除1000即可: profit1000 對(duì)應(yīng)0 1000profit2000對(duì)
12、應(yīng)1 2000profit5000對(duì)應(yīng)2、3、4 5000profit10000對(duì)應(yīng)5、6、7、8、910000profit對(duì)應(yīng)10、11、12、答:#include <stdio.h>void main()double p,m,t,q;int n;printf("某月所接工程利潤(rùn)為:");printf("nn");scanf("%lf",&p);m=p-1;n=(int)m/1000;switch (n)case 0 : printf("n薪水為:500n"); break;case 1 :q
13、=500+p*0.1 ;printf("n薪水為:%.2lfn",q);break;case 2 :case 3 :case 4 :q=500+p*0.15;printf("n薪水為:%.2lfn",q);break;case 5 :case 6 :case 7 :case 8 :case 9 :q=500+p*0.2 ;printf("n薪水為:%.2lfn",q);break;default:q=500+p*0.25;printf("n薪水為:%.2lfn",q);編程題2編寫(xiě)程序?qū)崿F(xiàn)如下功能:輸入二個(gè)運(yùn)算數(shù)(exp1,exp2)和一個(gè)運(yùn)算符(op),計(jì)算表達(dá)式exp1 op exp2的值,其中OP可以為+、-、*、/、%五個(gè)符號(hào)中的任一種(提示:用switch語(yǔ)句實(shí)現(xiàn))。 答:#include <stdio.h>void main()float exp1,exp2,x;char op;printf("輸入:");scanf("%f%c%f",&exp1,&op,&exp2);s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車(chē)位抵押借款合同模板
- 詳細(xì)裝修合同范本
- 個(gè)體工商戶(hù)共同投資開(kāi)店合同協(xié)議
- 合同編號(hào)土地使用權(quán)及開(kāi)發(fā)權(quán)轉(zhuǎn)讓協(xié)議
- 商業(yè)綜合體停車(chē)庫(kù)管理合同
- 4《地球 我們的家園》第二課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治六年級(jí)下冊(cè)統(tǒng)編版
- 供應(yīng)鏈管理合同目錄
- 建筑工程項(xiàng)目居間服務(wù)合同模板
- 技術(shù)開(kāi)發(fā)合同(三)
- Module 5 Unit 1 Will you take your ball tomorrow(教學(xué)設(shè)計(jì))-2023-2024學(xué)年外研版(一起)英語(yǔ)三年級(jí)下冊(cè)
- 小學(xué)教室衛(wèi)生管理
- 信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第三章第三節(jié)《數(shù)據(jù)分析報(bào)告與應(yīng)用》說(shuō)課稿
- 體育科學(xué)急救知識(shí)
- 工程項(xiàng)目建設(shè)流程
- T-GXAR 005-2024 制冷機(jī)房運(yùn)行維護(hù)規(guī)程
- DB45T 2364-2021 公路路基監(jiān)測(cè)技術(shù)規(guī)范
- 2025年春九年級(jí)化學(xué)下冊(cè) 中考綜合模擬測(cè)試卷一(科學(xué)版)
- 供電所安全第一課
- 新能源汽車(chē)底盤(pán)概論課件
- 全腦血管造影術(shù)的護(hù)理查房
- 學(xué)習(xí)弘揚(yáng)紅船精神課件
評(píng)論
0/150
提交評(píng)論