實(shí)驗(yàn)4-分支結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)4-分支結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)4-分支結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)4-分支結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)4-分支結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)四分支結(jié)構(gòu)程序設(shè)計(jì)姓名學(xué)號(hào)班級(jí)1.練習(xí)題一編寫(xiě)程序,計(jì)算練習(xí)一分段函數(shù)的值。用scanf函數(shù)輸入x的值。運(yùn)行程序時(shí),分別按x的值小于0、x的值在0-15之間、x的值大于15三種情況輸入數(shù)據(jù),檢查輸出的y值是否正確。#include<stdio.h>intk=1;voidtest();//程序是否繼續(xù)voidmain(){ while(k==1) { intx,y,c; printf("Inputx:"); scanf("%d",&x); while((c=getchar())!='\n'&&c!=EOF); if(x<0) { y=x+10; printf("x=%d,y=x+10=%d\n",x,y); } elseif(x<15){ y=3*x+5; printf("x=%d,y=3*x+5=%d\n",x,y); } else { y=2*x-10; printf("x=%d,y=2*x-10=%d\n",x,y); }test(); }}voidtest(){charc; printf("Testagain?y/n\n"); if((c=getchar())=='n'||c=='N')//只有當(dāng)輸入N或n時(shí)才終止程序 k=0;}運(yùn)行結(jié)果截圖:思考題及問(wèn)題:判斷x的值在0-15之間可否使用表達(dá)式“0<=x<15”答案:不可。因?yàn)橐粋€(gè)條件判斷表達(dá)式中最多只能有一個(gè)運(yùn)算符。正確的表示方法是x>=0&&x<15.2.練習(xí)題二輸入3個(gè)數(shù)字,判斷他們是否能構(gòu)成三角形,如果不能,輸出提示信息;否則判斷它是直角、等邊、等腰還是普通三角形。假設(shè)inta=0,b=1,c=1,d=3;(1)表達(dá)式a*b&&c-d、c-d&&a*b是多少?為什么?程序代碼:#include<stdio.h>voidmain(){inta=0,b=1,c=1,d=3; printf("%d,%d",a*b&&c-d,c-d&&a*b);}運(yùn)行結(jié)果截圖及原因:a*b=0,邏輯假,由于與運(yùn)算的短路性,&&右邊的表達(dá)式不進(jìn)行,直接為0;c-d=-2,邏輯真,為1,故第二個(gè)運(yùn)算式為1&&0=0.(2)表達(dá)式—a||++b&&--c的值是多少?變量a、b、c的值分別是多少?為什么?程序代碼:#include<stdio.h>voidmain(){inta=0,b=1,c=1,d=3; printf("%d\n",-a||++b&&--c); printf("a=%d,b=%d,c=%d",a,b,c);}運(yùn)行結(jié)果截圖及原因:++b即b的值為2,是真值1,--c值即c的值為0,假值0。-a即a的值為0,假值0.故結(jié)果為0||1&&0=1&&0=0,(3)表達(dá)式++b&&--c||--a的值是多少?變量a、b、c的值分別是多少?為什么?程序代碼:#include<stdio.h>voidmain(){inta=0,b=1,c=1,d=3; printf("++b&&--c||--a=%d\n",++b&&--c||--a); printf("a=%d,b=%d,c=%d",a,b,c);}運(yùn)行結(jié)果截圖及原因:++b即b的值為2,是真值1,--c值即c的值為0,假值0。--a即a的值為-1,真值1.故結(jié)果為1&&0||1=1,自測(cè)練習(xí)二設(shè)整型變量a、b、c分別存放從鍵盤輸入的3個(gè)整數(shù)。編寫(xiě)C程序,按從大到小排列這3個(gè)數(shù),使a成為最大值,c成為最小值,并且按序輸出這3個(gè)數(shù)。源程序代碼:#include<stdio.h>voidmain(){ inta[3]={0},t,j,i,k; for(i=0;i<=2;i++) { printf("Input%c:",i+97); scanf("%d",&a[i]); } for(j=0;j<=2;j++)//冒泡法 { for(i=0;i<=2-j;i++) if(a[i]<a[i+1]) t=a[i],a[i]=a[i+1],a[i+1]=t; } printf("a=%d,b=%d,c=%d\n",a[0],a[1],a[2]);}運(yùn)行結(jié)果截圖:自測(cè)練習(xí)三從鍵盤輸入一個(gè)小于六位的正整數(shù),判斷它是幾位數(shù),并按照相反的順序輸出各位上的數(shù)字,例如輸入1234,輸出為4321。源程序代碼:#include<stdio.h>#include<math.h>voidmain(){ inti=4,a[6]={0},k=0; printf(“請(qǐng)輸入一個(gè)小于六位的正整數(shù):"); scanf("%d",&a[5]); while(a[5]<(int)pow(10,i))//判斷輸入數(shù)據(jù)的位數(shù) i--; k=i+1; printf("它是%d位數(shù)",k); a[i+1]=a[5]; for(;i>=1;i--) { a[i]=a[i+1]%(int)pow(10,i); a[i+1]=a[i+1]/(int)pow(10,i); } for(i=1;i<=k;i++)//倒序輸出 printf("%d",a[i]); printf("\n");}運(yùn)行結(jié)果截圖:自測(cè)練習(xí)四假設(shè)今天是星期日,編寫(xiě)一個(gè)程序,求n(n由鍵盤輸入)天后是星期幾。源程序代碼:#include<stdio.h>voidmain(){ intn,t; printf("假設(shè)今天是星期日,求n天后是星期幾\n輸入n="); scanf("%d",&n); t=n%7; switch(t) { case0:printf("n天后還是星期日\(chéng)n");break; case1:printf("n天后是星期一\n");break; case2:printf("n天后是星期二\n");break; case3:printf("n天后是星期三\n");break; case4:printf("n天后是星期四\n");break; case5:printf("n天后是星期五\n");break; case6:printf("n天后是星期六\n"); }}運(yùn)行結(jié)果截圖:自測(cè)練習(xí)五假定向香港郵寄包裹的收費(fèi)規(guī)則如下:首先,包裹重量向上取整到最近的15g的倍數(shù),然后按書(shū)上表格收費(fèi),編寫(xiě)一個(gè)程序根據(jù)用戶輸入的包裹的重量和里程計(jì)算郵費(fèi)。包裹郵費(fèi)計(jì)算表重量(g)收費(fèi)(元)15530945126014(每足1000km加1元)75及以上15(每足1000km加2元)源程序代碼:#include<stdio.h>intk=1,c=0;//全局變量voidtest(){ printf("Testagain?y/n:"); if((c=getchar())=='n'||c=='N')//只有當(dāng)輸入N或n時(shí)才終止程序 k=0;}voidmain(){while(k==1) { intm,s; printf("請(qǐng)輸入包裹重量(g)"); scanf("%d",&m); printf("請(qǐng)輸入里程數(shù)(km)"); scanf("%d",&s); while((c=getchar())!='\n'&&c!=EOF);//清空輸入緩存區(qū) if(m%15!=0)m=(m/15+1)*15;//取m為15的倍數(shù) s/=1000; printf("收費(fèi):"); if(m<=15)printf("5元"); elseif(m<=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論