循環(huán)結(jié)構(gòu)程序設(shè)計_第1頁
循環(huán)結(jié)構(gòu)程序設(shè)計_第2頁
循環(huán)結(jié)構(gòu)程序設(shè)計_第3頁
循環(huán)結(jié)構(gòu)程序設(shè)計_第4頁
循環(huán)結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計一【實驗?zāi)康摹?、熟練使用for、while和dowhile語句實現(xiàn)循環(huán)結(jié)構(gòu)程序設(shè)計。2、理解循環(huán)條件和循環(huán)體,以及for、while和dowhile語句的相同及不同之處。3、熟練掌握break和continue語句的使用。4、掌握使用“debug”菜單調(diào)試程序的方法。二【實驗內(nèi)容和步驟】1、程序調(diào)試題A目標(biāo):進(jìn)一步學(xué)習(xí)掌握程序調(diào)試的方法和技巧。B內(nèi)容:參照實驗指導(dǎo)教材P38“1.調(diào)試示例”,改正程序中的錯誤,使其實現(xiàn)程序的功能。(注:程序文件保存在“調(diào)試示例”文件夾中,文件名為error04_1.cpp) 調(diào)試正確的源程序清單#include <stdio.h&

2、gt;int main(void) int m, n, j, k; do printf("Input m: "); scanf("%d", &m); printf("Input n: "); scanf("%d", &n); while(m<0|n<0);j = m; while(j % n != 0) j = j + m;k = (m * n) / j; printf("最小公倍數(shù)是%d n最大公約數(shù)是%dn ", j, k); return 0; 運行結(jié)果:(提示

3、:通過屏幕截圖,貼粘程序運行界面)。2、完善程序,并調(diào)試運行程序題目(1)求11/21/31/n。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正整數(shù) n(n<=50),計算并輸出11/21/31/n (保留3 位小數(shù))。(注:程序文件保存在“第1題”文件夾中)打開proj1.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i, n; float sum; scanf

4、("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); sum=0;for(i=1;i<=n;i+)sum=sum+1.0/i; printf("%.3fn", sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(2)求n!。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正整數(shù)n(n<=50),計算并輸出n!。(注:程序文件保存在“第2題”文

5、件夾中)打開proj2.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i, n; double fact; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); fact=1; for(i=1;i<=n;i+) fact=fact*i; printf("%.0fn", fact); 運

6、行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(3)求x的n次冪(即:xn)。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正實數(shù)x和1個正整數(shù)n(n<=50),計算并輸出x的n次冪(即:xn,保留2位小數(shù))。(注:程序文件保存在“第3題”文件夾中)打開proj3.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i, n; double x, mypow; s

7、canf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%lf%d", &x, &n); mypow=1; for(i=2;i<=n;i+) mypow= mypow*x; printf("%.2fn", mypow); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(4)求11/21/31/4+1/n。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正整數(shù)n(

8、n<=100),計算并輸出11/21/31/4的前n 項和(保留3位小數(shù))。(注:程序文件保存在“第4題”文件夾中)打開proj4.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i, n, flag; float sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); sum=0;flag=1;f

9、or(i=1;i<=n;i+)sum=sum+flag*1.0/i; flag=-flag; printf("%.3fn", sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(5)求11/31/51/7。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正整數(shù)n(n<=100),計算并輸出11/31/51/7的前n項和(保留3位小數(shù))。(注:程序文件保存在“第5題”文件夾中)打開proj5.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清

10、單#include <stdio.h>int main( ) int ri, repeat; int i, n, temp; float sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); temp=1; sum=0; for(i=1;i<=n;i+) sum=sum+1.0/temp; temp=temp+2; printf("%.3fn", sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)

11、。題目(6)求1-1/31/5-1/7。程序功能:從鍵盤上輸入一個正整數(shù) repeat (0<repeat<10),做repeat 次下列運算:讀入1個正實數(shù)eps,計算并輸出11/31/51/7,直到最后一項的絕對值小于eps(保留6位小數(shù))。(注:程序文件保存在“第6題”文件夾中)打開proj6.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>#include <math.h>int main( ) int ri, repeat; int temp, flag; double eps,

12、 item, sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%le", &eps); flag=1; sum=0; temp=1; item=1.0; while(fabs(item)>=eps) item=flag*1.0/temp; sum=sum+item; temp=temp+2; flag=-flag; printf("%.6fn", sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(7)求1-1/31

13、/5-1/7。程序功能:從鍵盤上輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算:輸入2個整數(shù)begin 和end,分別代表攝氏溫度的起止值,輸出該范圍內(nèi)(步長為1)攝氏溫度C和華氏溫度F的轉(zhuǎn)換表。轉(zhuǎn)換計算公式:F=32+ C*9/5,輸出語句:printf("%d%10.2fn", c, f); 。(注:程序文件保存在“第7題”文件夾中)打開proj7.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repe

14、at; int begin, c, end;double f; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d%d", &begin, &end); printf("Celsius Fahrenheitn"); for(c=begin;c<=end;c+) f=32+c*9/5; printf("%d%10.2fn", c, f); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(8)求奇數(shù)和。程序功

15、能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat次下列運算:讀入一批正整數(shù)(以零或負(fù)數(shù)為結(jié)束標(biāo)志),求其中的奇數(shù)和。(注:程序文件保存在“第8題”文件夾中)打開proj8.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int x, sum; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d",

16、 &x); sum=0;while(x>0)if(x%2=1)sum=sum+x; scanf("%d", &x); printf("%dn", sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(9)求最大值和最小值。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat次下列運算:輸入一個正整數(shù)n,再輸入n個整數(shù),輸出這n個整數(shù)中的最大值、最小值、累加和與平均值。(注:程序文件保存在“第9題”文件夾中)打開proj9.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完

17、成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i , max, min, n, x;double sum,avg;scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); scanf("%d", &x); sum=x; max=x; min=x; for(i=2;i<=n;i+) scanf("%d", &am

18、p;x); if(max>=x) max=max; else max=x; if(min<=x) min=min; else min=x; sum=sum+x; avg=sum/n; printf("The Max is %d.n", max); printf("The Min is %d.n", min); printf("The Sum is %f.n", sum); printf("The Avg is %f.n", avg); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(10)求整

19、數(shù)的位數(shù)以及各位數(shù)之和。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat 次下列運算:輸入一個整數(shù),輸出它的位數(shù)以及各位數(shù)之和。(注:程序文件保存在“第10題”文件夾中)打開proj10.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int number, sum; long int in; scanf("%d", &repeat); for(ri=1; ri<=repea

20、t; ri+) scanf("%ld", &in); number=1;if(in<0) in=-in;sum=in%10;while(in/10>0) in=in/10; sum=sum+(in%10); number+; printf("number=%d, sum=%dn", number, sum); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(11)求2/13/25/38/5.之和。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat 次下列運算:輸入一個正整數(shù)n,

21、輸出2/1+3/2+5/3+8/5 +.的前n項之和,保留2位小數(shù)。(該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子)(注:程序文件保存在“第11題”文件夾中)打開proj11.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int i,n; float a,b,s,t; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d&

22、quot;, &n); s=0; a=2; b=1; for(i=1;i<=n;i+) s=s+a/b; t=b; b=a; a=a+t; printf("%.2fn",s); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(12)求aaaaaaaaa之和。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat次下列運算:輸入2個正整數(shù)a和n,輸出aaaaaaaaa(n個a)之和。(注:程序文件保存在“第12題”文件夾中)打開proj12.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正

23、確的源程序清單#include <stdio.h>void main() int ri, repeat; int i, n; long int a, sn, tn; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%ld%d", &a, &n); sn=0; tn=0; for(i=1;i<=n;i+) tn=10*tn+a; sn=sn+tn; printf("%ldn",sn); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序

24、運行界面)。題目(13)判斷素數(shù)。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat<10),做repeat次下列運算:輸入一個正整數(shù)m,如果它是素數(shù),輸出"YES",否則,輸出"NO"(素數(shù)就是只能被1 和自身整除的正整數(shù),1不是素數(shù),2是素數(shù))。(注:程序文件保存在“第13題”文件夾中)打開proj13.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(14)統(tǒng)計字符。程序功能:從鍵盤上輸入一個正整數(shù)repeat(0<repeat

25、<10),做repeat次下列運算:輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其他字符的個數(shù)。(注:程序文件保存在“第14題”文件夾中)打開proj14.cpp文件,在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <stdio.h>int main( ) int ri, repeat; int blank, digit, letter, other; char c; scanf("%d", &repeat); getchar(); for(ri=1; ri<=repeat; ri+) c =

26、getchar(); blank=0; digit=0; letter=0; other=0; while(c=getchar()!='n') if(c>='a'&&c<='z'|c<='Z'&&c>='A') blank+; else if(c=' ') digit+; else if(c>='0'&&c<='9') letter+; else other+; printf(&quo

27、t;letter=%d, blank=%d, digit=%d, other=%dn", letter, blank, digit, other); 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(15)【水平考試題】程序文件保存在“第15題(水平考試題)”文件夾中,打開proj15.cpp,編程實現(xiàn),任輸入一個正整數(shù)num,求1+2+3+num的和。在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單 運行結(jié)果:(提示:通過屏幕截圖,貼粘程序運行界面)。題目(16)【水平考試題】程序文件保存在“第16題(水平考試題)”文件夾中,打開proj16.cpp,編程實現(xiàn)輸入一個長整數(shù),求各位數(shù)字的平方和。例如輸入-123,輸出sum=14。在兩條星線之間填入相應(yīng)的代碼,使程序完成該功能。 調(diào)試正確的源程序清單#include <iostream.h>void main( ) int d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論