實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)_第1頁
實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)_第2頁
實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)_第3頁
實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)_第4頁
實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、 實(shí)驗(yàn)?zāi)康?熟悉使用while語句,do-while語句和for語句實(shí)現(xiàn)循環(huán)的方法。2學(xué)習(xí)調(diào)試程序的方法。二、 實(shí)驗(yàn)要求1. 熟悉VC6.0環(huán)境;2. 按照編程風(fēng)格要求正確寫源程序3. 能得到正確的程序運(yùn)行結(jié)果4. 使用斷點(diǎn)方式進(jìn)行程序調(diào)試。5. 本次實(shí)驗(yàn)要求寫實(shí)驗(yàn)報(bào)告。三、 主要儀器及耗材計(jì)算機(jī)及VC6.0軟件四、 基礎(chǔ)實(shí)驗(yàn)1.輸入以下程序,查看輸出結(jié)果。#include <stdio.h>void main() int x,y,z,t; scanf(“%d,%d”,&x,&y); if(x>y) t=x;x=y;y=t; z=x

2、; do if(z%x=0&&z%y=0) break; else z+; while(1); printf(“gbs=%dn”,z);輸入:5,6 輸出: gbs=30 程序功能: 計(jì)算兩個(gè)數(shù)之間的最小公倍數(shù) 2. 輸入以下程序,查看輸出結(jié)果。#include <stdio.h>void main() int n ; for(n=100;n<=200;n+) if(n%5=0) continue; printf("%d ",n); printf("n"); 輸出: 100到200之間不能被5整除的數(shù) 程序功能: 輸出1

3、00到200之間不能被5整除的數(shù) 3.程序改錯(cuò).本程序?qū)崿F(xiàn)求1+1/2+1/3+1/10。1 #include <stdio.h>2 void main()3 4 int k;5 double s;6 k=0;7 s=0;8 do 9 10 s=s+1/k;11 k+;12 while (k=10);13 printf("s=%.2ldn",s);14 (1)利用斷點(diǎn)調(diào)試程序方法調(diào)試程序,請(qǐng)?zhí)顚懗鲥e(cuò)情況:行號(hào)出錯(cuò)提示出錯(cuò)含義出錯(cuò)原因及修改10Integer Divide by Zero 分母為零k的初值為零,將k賦初值為1,s也賦值為113輸出的格式錯(cuò)誤把%ld

4、改成%lf12條件錯(cuò)誤將k=10改成k<=1010 (2)修改后的程序及運(yùn)行結(jié)果:#include <stdio.h>void main()int k;double s;k=1;s=0;dos=s+1.0/k;k+;while (k<=10);printf("s=%.2lfn",s); 輸出: s=2.93 4.編程。求1到n中能被3或7整除的數(shù)之和。分別用for循環(huán)語句和while循環(huán)語句完成本題。程序輸出示例:#include <stdio.h>void main()int a=3,b=7,n,sum;printf("請(qǐng)輸入

5、n的值:");scanf("%d",&n);for(sum=0;n>=0;n-)if(n%3=0|n%7=0)sum=sum+n;continue;printf("sum=%dn",sum);/*#include <stdio.h>void main() int a=3,b=7,n,sum=0; printf("請(qǐng)輸入n的值:"); scanf("%d",&n); while(n>=0) if(n%3=0|n%7=0) sum=sum+n;n-; printf(&q

6、uot;sum=%dn",sum);*/五、 拓展實(shí)驗(yàn):1. 程序填空。 求n!#include <stdio.h>void main()int n,i=1;long m;m=1;printf(" 請(qǐng)輸入一個(gè)正整數(shù): ");scanf("%d",&n);while (i<=n)m=m*i ;i+ ;printf("%d!=%dn",n,m);2.程序改錯(cuò)。輸入一個(gè)正整數(shù) n, 再輸入n 個(gè)整數(shù),輸出最大值。輸出示例:提示:該程序使用“打擂臺(tái)”算法。1 #include <stdio.h>

7、2 void main( )3 4 int i=1,max,n,t;5 max=0;6 printf("請(qǐng)輸入要比較的整數(shù)個(gè)數(shù):");7 scanf("%dn",&n);8 for(i<n;i+);9 10printf("請(qǐng)輸入要比較第%d個(gè)數(shù):",i);11scanf("%d",&t);12if(max<t) max=t;13 14 printf("max=%dn",max);15 (1)利用斷點(diǎn)調(diào)試程序方法調(diào)試程序,請(qǐng)?zhí)顚懗鲥e(cuò)情況:行號(hào)出錯(cuò)提示出錯(cuò)含義出錯(cuò)原因及修

8、改8missing '' before ')'丟失分號(hào)在i<n的前面加上分號(hào)8多了一個(gè)分號(hào)刪除分號(hào)7沒有輸出結(jié)果多了一個(gè)換行符刪除換行符 (2)修改后的程序及運(yùn)行結(jié)果:#include <stdio.h>void main()int i=1,max,n,t;max=0;printf("請(qǐng)輸入要比較的整數(shù)個(gè)數(shù):");scanf("%d",&n);for(;i<=n;i+)printf("請(qǐng)輸入要比較第%d個(gè)數(shù):",i);scanf("%d",&t

9、);if(max<t) max=t;printf("max=%dn",max);輸出: max=34 3.編程。一位卡車司機(jī)違反交通規(guī)則,撞死了行人。當(dāng)時(shí)有三位目擊者,都沒有看清卡車的牌照號(hào)碼,只記住了牌照的某些特征:甲記住前兩個(gè)數(shù)字是相同的,乙記住牌照的后兩位數(shù)字是相同的,丙是一個(gè)數(shù)學(xué)家,他說:“牌照號(hào)碼肯定是一個(gè)四位數(shù),并且這個(gè)四位數(shù)恰好是一個(gè)整數(shù)的平方?!备鶕?jù)這些,你能否正確判斷出牌照號(hào)碼?#include <stdio.h>#include <math.h>void main()int g,s,b,q,x;for(x=1000;x<

10、;=9999;x+)q=x/1000;b=(x/100)%10;s=(x/10)%10;g=x%10; if(q=b)&&(g=s)if(int) (sqrt(x)=sqrt(x) printf("%dn",x);六、 綜合實(shí)驗(yàn):(選做兩題)1.一個(gè)班有若干名學(xué)生,要求用戶從鍵盤輸入每個(gè)學(xué)生語文課的成績(jī)后輸出該班學(xué)生的語文課平均成績(jī),其中學(xué)生人數(shù)由用戶指定。程序輸出示例:#include <stdio.h>void main()int n,fs,i,sum=0,sz10000;float aver;printf("請(qǐng)輸入人數(shù):"

11、;);scanf("%d",&n);for(i=0;i<n;i+) printf("請(qǐng)輸入第%d個(gè)學(xué)生的分?jǐn)?shù):",i+1);scanf("%d",&fs);szi=fs;sum=sum+szi;aver=(float) sum/n;printf("aver=%.2fn",aver);2.有一個(gè)簡(jiǎn)易計(jì)算機(jī),可以實(shí)現(xiàn)基本的加、減、乘、除四則運(yùn)算,要求輸入數(shù)據(jù)和運(yùn)算符,輸出數(shù)據(jù)的運(yùn)算及其結(jié)果,并可以進(jìn)行下一次運(yùn)算。程序輸出示例:#include <stdio.h>void main()f

12、loat a,b; char c,d;while(1)printf("請(qǐng)輸入算式!");scanf("%f%c%f",&a,&c,&b);switch(c)case '+': printf("=%fn",a+b); break;case '-': printf("=%fn",a-b); break;case '*': printf("=%fn",a*b); break;case '/': if(b=0) printf("除數(shù)不能為零!"); else printf("=%fn",a/b); break;default: printf("請(qǐng)輸入正確的算式!n");break; printf("是否還要繼續(xù)計(jì)算,按任意鍵繼續(xù),按n退出!"); getchar(); d=getchar(); if(d='n') break;3.編寫一個(gè)猜數(shù)字的游戲。先由計(jì)算機(jī)隨機(jī)產(chǎn)生一個(gè)1-100之間的整數(shù)供玩游戲者猜測(cè),玩游戲者

溫馨提示

  • 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)論