C语言实验报告4云南大学,C语言循环结构程序设计实验报告.doc
C語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc
云南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中心實(shí)驗(yàn)報(bào)告課程名稱程序設(shè)計(jì)和算法語言學(xué)期 20122013學(xué)年下學(xué)期成績(jī)指導(dǎo)教師學(xué)生姓名學(xué)生學(xué)號(hào)實(shí)驗(yàn)名稱循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)編號(hào)四實(shí)驗(yàn)日期實(shí)驗(yàn)學(xué)時(shí) 3學(xué)院 專業(yè)年級(jí)一、實(shí)驗(yàn)?zāi)康?進(jìn)一步練習(xí)選擇結(jié)構(gòu)的程序設(shè)計(jì)。2練習(xí)并掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種方法。3練習(xí)并掌握選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的嵌套。4掌握多重循環(huán)的應(yīng)用。5學(xué)會(huì)單步跟蹤的操作方法。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容和步驟1 分別用三種循環(huán)語句(while語句、do-while語句、for語句),實(shí)現(xiàn)求1 100的累加和。編程上機(jī)調(diào)試,總結(jié)出三種循環(huán)語句哪種實(shí)現(xiàn)起來方便、靈活。while語句do-while語句includestdio.hincludestdio.hvoid main void main int i1,sum0; int i1,sum0; whilei100 do sumsumi; sumsumi; i; i; printf“dn”,sum; whilei100; printf“dn”,sum; 運(yùn)行結(jié)果5050 for語句includestdio.hvoid main int i,sum0; fori1;i100;i sumsumi; printf“dn”,sum; 252 求 n 12325。n1程序如下main float n,s0,t1;forn1;n25;n tt*n; sst; printf“123 25en”,s;上機(jī)運(yùn)行,并記錄下結(jié)果。然后用另外兩種循環(huán)語句實(shí)現(xiàn)上述功能。運(yùn)行結(jié)果123 .251.61587e25while語句main float n1,s0,t1; whilen25 tt*n;sst;n; printf“123 25en”,s;do-while語句main float n1,s0,t1; do tt*n;sst;n; whilen25;printf“123 25en”,s;3 指出下面三個(gè)程序的功能,當(dāng)輸入“quit”時(shí),它們的執(zhí)行結(jié)果是什么includestdio.hmain char c;cgetchar;whilec putcharc; cgetchar; 程序功能輸入的字符不是“”時(shí),就將該字符輸出;若輸入字符“”時(shí),不輸出任何值。運(yùn)行結(jié)果輸入”quit”時(shí),輸出quit includestdio.hmain char c;while cgetchar putcharc; 程序功能輸入的字符不是“”時(shí),將其ASCII值自加一后,輸出字符;遇到時(shí),停止運(yùn)行。運(yùn)行結(jié)果輸入”quit”時(shí),輸出rvju includestdio.h main whileputchargetchar;程序功能將輸入的字符原樣輸出運(yùn)行結(jié)果輸入”quit”時(shí),輸出quit分析輸出的三種不同結(jié)果,在實(shí)驗(yàn)報(bào)告中寫出為什么。*4 換零錢。把一元錢全兌換成硬幣,有多少種兌換方法參考程序如下main int i,j,k,n;n100,k0;fori0;in/5;i forj0;jn-i*5/2;j printf“ 5 centdt 2 centdt 1 centdn”,i,j.n-i*5-j*2; k; printf“total timesdn”,k;*5 穿越沙漠。用一輛吉普車穿越1000公里的沙漠。吉普車的總裝油量為500加侖,耗油量為1加侖/公里。由于沙漠中沒有油庫(kù),必須先用車在沙漠中建立臨時(shí)加油站,該吉普車要以最少的油耗穿越沙漠,應(yīng)在什么地方建立臨時(shí)油庫(kù),以及在什么地方安放多少油最好參考程序如下main int k1; float station,distation,total;stationdistationtotal500.0;whiledistation1000.0 printf“stationd9.4f oils totald10.4fn”, k,station,k,total; total500.0*k; station500.0/2*k-1; diststion station; distation - station; station1000.0-distation; printf“stationd9.4f oils totald10.4fn”, k,station,k,k-1*500.02*k-1*station; 【上機(jī)實(shí)習(xí)指導(dǎo)】1輸入例6.2.上機(jī)運(yùn)行程序,分析運(yùn)行結(jié)果。用單步跟蹤觀察while語句的執(zhí)行過程連續(xù)按三次F8鍵,再用兩次Ctrl-F7操作分別將i和sum的值顯示出來,然后不按斷F8鍵,每次按F8后,觀察綠條的變化和變量值的變化情況,以此來分析并弄清while語句的執(zhí)行過程。修改程序,實(shí)現(xiàn)s11/21/31/10。運(yùn)行結(jié)果5050每次按F8后,綠條會(huì)在while語句,sumsumi;i;中移動(dòng),并且i和sum的值也有變化,不斷地增加一,直到不滿足條件。開始i1;sum0i10t1/isumsumti輸出sum結(jié)束includestdio.hvoid main float i,sum0,t; i1; whilei10 t1/i; sumsumt; i; printffn,sum;【自編程序上機(jī)】1計(jì)算下列級(jí)數(shù)和 s1-2/33/5-4/7-1nn1/2n1直到最后一項(xiàng)的絕對(duì)值小于10-4為止注意是n1/2n1。具體要求如下畫出流程圖。除了要輸出級(jí)數(shù)和s外,同時(shí)要求輸出總的項(xiàng)數(shù)n。輸出形式為n具體值,s具體值includestdio.hincludemath.hvoid mainn1;sum1開始sumsumpow-1,n*n1/2*n1 int n1; float sum1;n do fabsn1*2*n11e-004 sumsumpow-1,n*n1/2*n1; n; whilefabsn1*2*n11e-004; printfnd,sumf,n,sum;輸出n,sum運(yùn)行結(jié)果n2,sum0.333333結(jié)束2如果一個(gè)數(shù)恰好等于它的所有因子包括1但不包括自身之和,開始例如6的因子為1,2,3,且1236,因此6是一個(gè)“完數(shù)”。計(jì)算并輸出1000以內(nèi)的所有“完數(shù)”之和。具體要求如下sum0所有循環(huán)均用for循環(huán)。輸出要有文字說明,并同時(shí)輸出各“完數(shù)”。輸出形式為完數(shù)1完數(shù)2和值m2includestdio.hvoid mainm1000 int i,k,m,n,sum0; form2;m1000;m 真km/2,n0,i1 forkm/2,n0,i1;ik;i ik ifmi0 nni; ifmn真mi0 sumsumm; printfd,m;nni i printfbdn,sum;mnm輸出msumsumm 運(yùn)行結(jié)果 628496530輸出sum結(jié)束3P121 6.14。要求用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。4百錢買百雞問題。已知公雞每只5元,母雞每只3元,小雞1元3只,要求100元錢正好買100只雞,則應(yīng)買公雞、母雞的小雞各多少只5某班有學(xué)生n人,從終端讀入n及n個(gè)人學(xué)生的成績(jī),試編程實(shí)現(xiàn)以下功能印出前3個(gè)最好成績(jī)及取得每個(gè)最好成績(jī)的人數(shù);若90分以上計(jì)為優(yōu),7589分計(jì)為良,6074分計(jì)為中,60分以下計(jì)為不及格,試統(tǒng)計(jì)各檔成績(jī)所占百分率。習(xí)題 下列論題哪些是錯(cuò)誤的語言沒有g(shù)oto語句。While表達(dá)式語句的作用是當(dāng)表達(dá)式的值為時(shí)重復(fù)執(zhí)行循環(huán)體語句。do(語句)while(表達(dá)式)的作用是重復(fù)執(zhí)行循環(huán)體(“語句”),直到表達(dá)式成立(其值為真)。 “dowhile”語句中,寫在do后面。While前面的若干語句,不必用花括號(hào)括起來。 break語句用于退出條件語句和循環(huán)語句的判斷。 contiune語句表示將循環(huán)繼續(xù)下去。凡是while語句能解決的問題也能用dowhile語句解決。凡是用while語句能解決的問題都可以用for語句實(shí)現(xiàn)。凡是用for語句能解決的問題都可以用while語句實(shí)現(xiàn)。造成“死循環(huán)“的主要原因是循環(huán)變量的值沒有得到必要的修改。2 下列程序存在哪些錯(cuò)誤 100 (1)求 sum 1/n i1main int n,sum;n1;whilen100 sumn;n;printf“sumfn”,sum;sum沒有初始化,whilen100從鍵盤輸入若干學(xué)生的成績(jī)(輸入負(fù)分結(jié)束),輸出平均成績(jī)和最高分。main /* a平均成績(jī);n學(xué)生數(shù);max最高分;sum總分;s單項(xiàng)成績(jī)單*/ int n0; float a,sum,max0; scanf“f”,s; whiles0 ifsmax maxs; sumsums;nn1; asum/n; printf“maxf,afn”,max,a;沒有定義s,sum沒有初始化,max的初始值不應(yīng)為0,3 計(jì)算并輸出2n1超過1000的第一個(gè)n值。 n1main int n1,sum0;for; ; n sumsum2*n1; ifsum2000 break;printf“nd,sumdn”,n,sum; ifsum1000break;for中的表達(dá)式2不能省去求21000之間的全部素?cái)?shù)(每行顯示10個(gè)數(shù))。include “math.h”main int m3,k,i,n1; printf“7d”,2; do ifn100 printf“n”; ksqrtm; fori2;ik;i ifmi0 continue; ifik1 printf“8d”,m; n; while m1000; printf“n”; ifn100 whilem1000開始3 snaaaaa,其中a是1-9中的一個(gè)數(shù)字。n為一正整數(shù),a和n均從鍵盤輸入。(例如輸入n,a為4,sn8888888888) includestdio.hvoid mainsn0;ta int a,n,t,i;輸入a,n long sn0; scanfd,d,a,n;i1 ta; fori1;in;iin snsna; aa*10t; snsna printfsnldn,sn;aa*10ti4打印以下圖案 * * * * * * * * *輸出sn * * * * * * * * * * * *結(jié)束 * * * * 5求sinx -1n x2n1/2n1的近似值,精確到| x2n1/2n1|10-6 n0includestdio.hincludemath.hvoid main int n;
總結(jié)
以上是生活随笔為你收集整理的C语言实验报告4云南大学,C语言循环结构程序设计实验报告.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现代计算机科学 期刊,现代计算机杂志
- 下一篇: spss是什么