


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗三循環(huán)結構程序設計一、實驗學時4學時。二、實驗目的1.熟練掌握用while、do-while以及for2.理解循環(huán)條件和循環(huán)體的含義。理解循環(huán)結構中語句的執(zhí)行過程。3.熟練掌握break和continue語句的功能及應用。4.掌握應用嵌套循環(huán)結構進行程序設計的方法。掌握應用循環(huán)結構及窮舉算法解決有關問題。三、實驗內容程序調試1S=1!+2!+3!++n!的值,n10。輸入樣例:輸入樣例:請通過鍵盤輸入具體數據給變量n賦值:輸出樣例:1!+2!+3!++5!=153程序:#include<stdio.h>voidmain(){intn,i;longints,sum;printf("請通過鍵盤輸入具體數據給變量n賦值:");scanf("%d",&n);for(i=1;i<=n;i++){s=s*isum+=s;}printf("1!+2!+3!+...+%d!=%ld\n",n,sum);}按照前面章節(jié)實驗中介紹的步驟,保存源程序代碼。單擊編譯按Compil,出現第一條編譯錯誤信息是missing';'identifier'sum',改正后,重新編譯和連接,都正確。11行,光標在第11單,程序運行到光標位置。在變量窗口中,第一次循環(huán)時i的值為1的值為5,正確;而s-858993460intlongints=1,sum;,改正后,重新編譯和連接,繼續(xù)進行上述操作,這時s正確。鼠標單擊第1212運行到光標位置。在變量窗口中,第一次循環(huán)時i1,s1,正確;而sumints,sum;改為longints=1,sum=0;,改正后,重新編譯和連接,繼續(xù)進行上述操作,這時sum0把光標定位到倒數第3行,單(RuntoCursor)按鈕,程序運行到光標1,sum1,顯示信息正確。單(StopDebugging)按鈕,程序調試結束。在程序調試的過程中,應用了“運行到光標位置”的程序調試方法:即單擊 按鈕,的按鈕,斷點設置完畢。如果要取消已經設置的斷點,只需要將光標移到要取消的斷點處,再次單擊按鈕 ,該斷點取消。(入變量名查看,這些變量的值是否與循環(huán)第一次運行時一致。編程練習讀入一個正整數n,計算并輸出前n項之和s(6。S=1+1/4+1/7+1/10+1/13+1/16+?程序運行結果輸入/輸出示例:輸入樣例:輸入樣例:請輸入n輸出樣例:S=1.392857參考程序如下:#include"stdio.h"voidmain(){inti,k,n;doublesum;printf("請輸入n的值:");scanf("%d",&n);sum=0;k=1;for(i=1;i<=n;++i){sum+=1/(double)k;k+=3;}printf("S=%lf\n",sum);}思考題1ns的值(保留6位小數絕對值小于n(6。S=1-1/4+1/7-1/10+1/13-1/16+?輸入樣例:輸入樣例:請輸入n輸出樣例:S=0.835699參考程序如下:#include"stdio.h"#include"math.h"voidmain(){inti,k,t;doublen;doublesum;printf("請輸入n的值:");scanf("%lf",&n);sum=0;t=1;k=1;while(fabs(t/(double)k)>n){sum+=t/(double)k;k+=3;t*=-1;}printf("S=%lf\n",sum);}輸入樣例:請輸入n輸出樣例:S=0.5512:讀入一個正整數n,計算并輸出前n項之和s(輸入樣例:請輸入n輸出樣例:S=0.551分析1:對于S,可以對n進行分析,當n為偶數時,正項個數與負項的個數相等;當n為偶數,正項個數比負項的個數多一項,可以將正項與負項分別進行計算。參考程序:#include"stdio.h"voidmain(){inti,k,n;doublesum;printf("請輸入n的值:");scanf("%d",&n);sum=0;k=1;for(i1;i(n+1)/2;++i):1+3/7+5/13+?{sum+=(2*i-1)/(double)k;k+=6;}if(n%2==0) 區(qū)分n為偶數負數項的個數為n的一半{k=2;for(i=1;i<=n/2;++i){sum-=i/(double)k;k+=3;}}else 區(qū)分nn-1{k=2;for(i=1;i<=(n-1)/2;++i){sum-=i/(double)k;k+=3;}}printf("S=%.3lf\n",sum);}分析2:1 3 2 5 3 1 2 3 4 5 62 S1 L L5 13 8 1 4 7 10 13 162 即對S中負數項的分子與分母分別乘以2+3=后項的分母。參考程序:#include<stdio.h>voidmain(){ intn,i,k,sign;floats=0;sign=1;k=1;scanf("%d",&n);for(i=1;i<=n;i++){s=s+sign*(float)i/k;k=k+3;sign=sign*(-1);}printf("S=%.3f\n",s);}輸入一個正整數data①求它的位數;②求各位數字之和;③從高位開始逐位分割并輸出它的各位數字。輸入樣例:輸入樣例:輸出樣例:12345是一個5位整數,各位數字之和為15各位數字分別為2 3 4 5參考程序如下:#include<stdio.h>#include<math.h>voidmain(){intcount,in,sum,temp,t;printf("請輸入一個正整數:");scanf("%d",&in);temp=in;count=sum=0;while(temp!=0)//求正整數的位數,及各位數之和{sum=sum+temp%10;count++;temp=temp/10;}printf("%d%d%d\n",in,count,temp=in;printf("各位數字分別為:");while(temp!=0){t=temp/pow(10,count-1);printf("%d",t);temp=temp-t*pow(10,count-1);count--;}}輸入2個正整數m和(≥n500,輸出m和n之間的所有素數,每行輸出6個。輸入樣例:輸入樣例:輸出樣例:235711131719232931參考程序如下:#include<stdio.h>#include<math.h>voidmain(){inti,j,p,m,n,count;count=0;printf(scanf("m=%d,n=%d",&m,&n);for(i=m;i<=n;i++){for(j=2;j<=(int)sqrt(i);j++)if(i%j==0)break;if(j>(int)sqrt(i)&&{printf("%d",i);count++;}if(count%6==0)printf("\n");}}程序改錯輸入2個正整數m和n,求這兩個正整數的最大公約數和最小公倍數。輸入樣例(改正后程序的運行結果輸入樣例(改正后程序的運行結果輸出樣例:6,9的最大公約數是:36,9的最小公倍數是:18程序(有錯誤的程序,紅色的部分即為改正的部分:#include<stdio.h>#include<math.h>voidmain(){intm,n,max,min,data1,data2,r;printf("請輸入兩個正整數:");scanf("m=%d,n=%d",&m,&n);data1=m;data2=n;if(m<n){r=m;m=n;n=r;}r=m%n;while(r!=0)//輾轉相除法,求最大公約數{m=n;n=r;r=m%n;}max=n; nmin=data1*data2/max;printf("%d,%d:%d\n",data1,data2,max);printf("%d,%d的最小公倍數:%d\n",data1,data2,min);}思考題3:forbreak參考程序如下:#include<stdio.h>#include<math.h>voidmain(){intm,n,max,min,i;printf("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 IEC TS 62443-6-2:2025 EN Security for industrial automation and control systems - Part 6-2: Security evaluation methodology for IEC 62443-4-2
- 個人雇傭鐘點工勞務合同
- 文化創(chuàng)意產業(yè)數字化升級投資合同
- 信息安全保障服務合同
- 個人收入證明收入證明協(xié)議年
- 設備材料買賣合同
- 智能車輛研發(fā)合作協(xié)議
- 青島二手房買賣合同的
- 爆破工程承包合同與爆破承包合同
- 裝飾材料購銷合同
- 課件:舉手意識課件講解
- 中考體育培訓合同
- 固定式、車載式、便攜式反無人機實施方案
- 美術基礎試題庫含答案
- 鄉(xiāng)村研學旅行方案
- 《養(yǎng)老機構認知障礙照護專區(qū)設置與服務規(guī)范》
- 輸電線路安全施工培訓
- 梅毒螺旋體抗體膠體金法檢測試劑條生產工藝的優(yōu)化
- 降低非計劃性拔管的發(fā)生率課件
- 2024年湖南中職學校語文普測備考試題庫(濃縮500題)
- 2016-2023年婁底職業(yè)技術學院高職單招(英語/數學/語文)筆試歷年參考題庫含答案解析
評論
0/150
提交評論