資源描述:
《實(shí)驗(yàn)5 循環(huán)結(jié)構(gòu)程序 設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一)一、實(shí)驗(yàn)?zāi)康模?)熟悉掌握用while語句、do-while語句和for語句實(shí)現(xiàn)循環(huán)的方法。(2)掌握在程序設(shè)計(jì)中用循環(huán)實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實(shí)驗(yàn)內(nèi)容[計(jì)算階乘]輸入正整數(shù)n,計(jì)算n!,結(jié)果用長(zhǎng)整型數(shù)表示(注n!=1*2*3*...*n)[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]5↙[正確輸出]120[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]8↙[正確輸出]40320程序:[計(jì)算數(shù)列和]有數(shù)列1,3,5,7,9,11,……現(xiàn)要求由鍵盤輸入n,計(jì)算輸出該數(shù)列的前n項(xiàng)和。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]2↙[正確輸出]4[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]5↙[正確輸出]2
2、5[累加一行字符中的數(shù)字]由鍵盤輸入一行字符(總字符個(gè)數(shù)從1個(gè)至80個(gè)均有可能,以回車符表示結(jié)束),將其中每個(gè)數(shù)字字符所代表的數(shù)值累加起來,輸出結(jié)果。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]abc123↙[正確輸出]6[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]A6H7T+65↙[正確輸出]24[提示](1)可以使用下面程序段逐個(gè)讀入鍵盤輸入的一行字符charch;while((ch=getchar())!=''){……}(2)數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的數(shù)值可用a=ch-'0'程序:[求最大公約數(shù)]由鍵盤輸入兩個(gè)正整數(shù)m、n(m、n用長(zhǎng)整數(shù)表示),計(jì)算它們的最大公約數(shù)。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]16,24↙[正確
3、輸出]8[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]17,25↙[正確輸出]1[提示]公約數(shù)是既能整除m又能整除n的數(shù),題目要求滿足這一條件的最大的一個(gè)。參考程序:#includemain(){longr,m,n,temp;scanf("%ld,%ld",&m,&n);while(m!=0){r=n%m;n=m;m=r;}printf("%ld",n);}[字符變換]由鍵盤輸入一個(gè)句子(總字符個(gè)數(shù)從1個(gè)至80個(gè)均有可能,以回車符表示結(jié)束),將其中的大寫字符變成小寫(其它類型的字符不變),最后輸出變換后的句子。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]HowAreYou?↙[正確輸出]howar
4、eyou?[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]ThiSISMyfIrStCProgrAm!↙[正確輸出]thisismyfirstcprogram!程序:[題目:計(jì)算數(shù)列和]有數(shù)列:編程實(shí)現(xiàn),由鍵盤輸入n,計(jì)算輸出數(shù)列前n項(xiàng)和。(結(jié)果保留四位小數(shù))[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]20↙[正確輸出]32.6603[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]30↙[正確輸出]88.0403程序:[輸出最小值]從鍵盤輸入十個(gè)整數(shù),輸出最小值[自測(cè)數(shù)據(jù)][鍵盤輸入]1245768758743559921↙[正確輸出]5程序:*[統(tǒng)計(jì)單詞個(gè)數(shù)]由鍵盤輸入一個(gè)句子(總字符個(gè)數(shù)從1個(gè)至80個(gè)均有可能,以回車符表示結(jié)束),以空
5、格分割單詞,要求輸出單詞的個(gè)數(shù)。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]HowAreYou?↙[正確輸出]3[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]Therearemanystudentsandmanytrees!↙[正確輸出]程序:#includemain(){inti,num=0,word=0;charc;for(i=0;(c=getchar())!='';i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf("%d",num);}*[百萬富翁]一個(gè)百萬富翁遇到一個(gè)陌生人,陌生人找他談了一個(gè)換錢的計(jì)劃。該計(jì)劃如下:我每天給你
6、m元,而你第一天只需給我一分錢。第二天我仍給你m元,你給我2分錢。第三天,我仍給你m元,你給我4分錢。依次類推,你每天給我的錢是前一天的兩倍.百萬富翁很高興,欣然接受這個(gè)契約?,F(xiàn)要求,編寫一個(gè)程序,由鍵盤輸入m,計(jì)算多少天后,百萬富翁開始虧錢。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]100↙[正確輸出]18[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]10000↙[正確輸出]25程序:實(shí)驗(yàn)6循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二)一、實(shí)驗(yàn)?zāi)康模?)進(jìn)一步熟悉掌握用while語句、do-while語句和for語句實(shí)現(xiàn)循環(huán)的方法。(2)掌握在程序設(shè)計(jì)中使用多重循環(huán)。二、實(shí)驗(yàn)內(nèi)容[求素?cái)?shù)]輸出2到200之間(包括2、200)的所有素?cái)?shù)(注
7、:要求1行1個(gè)素?cái)?shù),按由小到大的順序輸出)。[提示]采用雙重循環(huán),外層循環(huán)產(chǎn)生2到200之間的數(shù),內(nèi)層循環(huán)對(duì)數(shù)進(jìn)行判斷是否為素?cái)?shù)。程序:[打印菱形]由鍵盤輸入正數(shù)n,要求輸出2*n+1行的菱形圖案。要求菱形左邊緊靠屏幕左邊。[第一組自測(cè)數(shù)據(jù)][鍵盤輸入]3↙[正確輸出]*************************[第二組自測(cè)數(shù)據(jù)][鍵盤輸入]2↙[正確輸出]*************[打印圖案]由鍵盤輸入正數(shù)n,要