第四章 選擇結(jié)構(gòu)程_第1頁
第四章 選擇結(jié)構(gòu)程_第2頁
第四章 選擇結(jié)構(gòu)程_第3頁
第四章 選擇結(jié)構(gòu)程_第4頁
第四章 選擇結(jié)構(gòu)程_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)4.有3個(gè)整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。#include<stdio.h>#include<stdlib.h>intmain(){inta,b,c;printf("請(qǐng)輸入三個(gè)整數(shù):");scanf("%d,%d,%d",&a,&b,&c);if(a<b)if(b<c)printf("max=%d\n",c);elseprintf("max=%d\n",b);elseif(a<c)printf("max=%d",c);else("max=%d",a);return0;}#include<stdio.h>#include<stdlib.h>intmain(){inta,b,c,temp,max;printf("請(qǐng)輸入三個(gè)整數(shù):");scanf("%d,%d,%d",&a,&b,&c);temp=(a>b)?a:b;max=(temp>c)?temp:c;printf("max=%d\n",max);return0;}5.從鍵盤輸入一個(gè)小于1000的整數(shù),要求輸出它的平方根(如平方根不是整數(shù),則輸出其整數(shù)部分)。要求在輸入數(shù)據(jù)后先其進(jìn)行檢查是否為小于1000的正數(shù)。若不是,則要求重新輸入。#include<stdio.h>#include<math.h>#defineM1000intmain(){inti,k;printf("請(qǐng)輸入一個(gè)小于%d的整數(shù)i:",M);scanf("%d",&i);if(i>M){printf("輸入的數(shù)據(jù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d的整數(shù)i:",M);scanf("%d",&i);}k=sqrt(i);printf("%d的平方根的整數(shù)部分是%d\n",i,k);return0;}以上程序的處理方法是:提醒用戶“輸入的數(shù)據(jù)錯(cuò)了”,要求重新輸入。但只提醒一次,再錯(cuò)了怎么辦?在學(xué)習(xí)了第五章循環(huán)之后,可以將出現(xiàn)改為多次檢查,至到正確輸入為止。程序如下:#include<stdio.h>#include<math.h>#defineM1000intmain(){inti,k;printf("請(qǐng)輸入一個(gè)小于%d的整數(shù)i:",M);scanf("%d",&i);while(i>M){printf("輸入的數(shù)據(jù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d的整數(shù)i:",M);scanf("%d",&i);k=sqrt(i);}printf("%d的平方根的整數(shù)部分是%d\n",i,k);return0;}6.有一函數(shù):y=寫程序,輸入x的值,輸出y相應(yīng)的值。X(x<1)2x-1(1≤x<10)3x-11(x≥10)#include<stdio.h>intmain(){intx,y;printf("請(qǐng)輸入x:");scanf("%d",&x);if(x<1){y=x;//x<1printf("x=%3d,y=x=%d\n",x,y);}elseif(x<10){y=2*x-1;//1=<x<10printf("x=%d,y=2*x-1=%d\n",x,y);}else{y=3*x-11;//x>=10printf("x=%d,y=3*x=11=%d\n",x,y);}return0;}7.有一函數(shù):y={有人分別編寫了以下兩個(gè)程序,情分析他們能否實(shí)現(xiàn)題目的要求。不要急于上機(jī)運(yùn)行程序,先分析上面兩個(gè)程序的邏輯,畫出他們的流程圖,分析他們的運(yùn)行情況。然后上機(jī)運(yùn)行程序,觀察和分析結(jié)果。(1)#include<stdio.h>intmain(){intx,y;printf("請(qǐng)輸入x:");scanf("%d",&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);return0;}(2)#include<stdio.h>intmain(){intx,y;printf("請(qǐng)輸入x:");scanf("%d",&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf("x=%d,y=%d\n",x,y);return0;}-1(x<0)0(x=0)1(x>0)流程圖(1)流程圖(2)流程圖Y=-1X≠0X>0Y=1Y=0Y=0X>0X>0Y=-1Y=1解:程序(1)不能實(shí)現(xiàn)題目要求。如果輸入的x<0則輸出y=0.請(qǐng)注意else與if的配對(duì)關(guān)系。程序(1)中的else子句是和第9行的內(nèi)嵌的if語句配對(duì),而不與第8行的if語句配對(duì)。程序(2)中的else子句是和第9行的內(nèi)嵌的if語句配對(duì),而不與第8行的if語句配對(duì)。一定要注意if與else的配對(duì)關(guān)系。配對(duì)關(guān)系不隨if與else所出現(xiàn)的列的位置而改變,例如程序(2)中的else與第8行的if寫在同一列,但else并不因此而與第8行的if語句配,它只和在它前面的離它最近的if配對(duì)。請(qǐng)和教程第4章例4.5程序?qū)Ρ确治觯M(jìn)一步理解if_else的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論