freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言程序設計-實驗c語言實驗報告(編輯修改稿)

2025-05-08 22:18 本頁面
 

【文章內(nèi)容簡介】 return s。}程序缺少調(diào)用函數(shù)的聲明;變量的初始化;等。修改后的正確程序為:include long sum_fac(int n)。int main(){ int k。 printf(please input k: )。 scanf(%d,amp。k)。 printf(k=%d\tthe sum is %ld\n,k,sum_fac(k))。 return 0。}long sum_fac(int n){ long s=0。 int i。 static long fac=1。 for(i=1。i=n。i++) { fac=fac*i。 s=s+fac。 }  return s。}程序結(jié)果顯示: (二)   (1)修改第1題中sum_fac函數(shù),使其計算量最小?! ?(2)修改第1題中sum_fac函數(shù),計算。 答(1)減小運算量.include long sum_fac(int n,int t)。int main(){ int k=0,i。 long m。 do{ printf(please input k: )。 scanf(%d,amp。k)。 }while(k0)。 for(i=1。i=k。i++) m=sum_fac(k,i)。 printf(k=%d\tthe sum is %ld\n,k,m)。 return 0。}long sum_fac(int n,int t){ static long fac=1,s=0。 if(t=n) { fac=fac*t。 s=s+fac。 } return s。} (2)計算的程序如下:include double sum_fac(int n)。int main(){ int k。 printf(please input k: )。 scanf(%d,amp。k)。 printf(k=%d\tthe sum is %lf\n,k,sum_fac(k))。 return 0。}double sum_fac(int n){ double s=。 int i=1。 long fac=1。 do{ fac=fac*i。 s=s+。 i++。 }while(i=n)。 return s。}程序結(jié)果顯示。 (三)計算fabonacci數(shù)列前n項和的程序如下:其中,long sum=0,*p=amp。sum。聲明p為長整型指針并用amp。sum取出sum的地址對p初始化。*p表示引用p所指的變量(*p即sum)。void main(void){ int i,k。 long sum=0,*p=amp。sum。 scanf(%d,amp。k)。 for(i=1。i=k。i++){ sum+=fabonacci(i)。 printf(i=%d\tthe sum is %ld\n,i,*p)。 }}long fabonacci(int n){ if(n==1 || n==2) return 1。 else return fabonacci(n1)+fabonacci(n2)。}單步執(zhí)行程序,觀察p,i,sum,n值。(1)剛執(zhí)行完scanf(%d,amp。k)。語句,p,i值是多少?(2)從fabonacci函數(shù)返回后光條停留在哪個語句上?(3)進入fabonacci函數(shù),watch窗口顯示的是什么?(4)當i=3,從調(diào)用fabonacci函數(shù)到返回,n值如何變化?答:(1)p=(long int*)0x28ff10 i=48(2)從fabonacci函數(shù)返回后光條停留在“printf(i=%d\tthe sum is %ld\n,i,*p)?!闭Z句上; (3)i,k,sum,p的值 (4)n從1到2到3 (四)編程讓用戶輸入兩個整數(shù),計算兩個數(shù)的最大公約數(shù)并且輸出之(要求用遞歸函數(shù)實現(xiàn)求最大公約數(shù))。同時以單步方式執(zhí)行該程序,觀察遞歸過程。 分析:利用while循環(huán)語句來求得最大公約數(shù)。 include int f(int u,int v) { int temp。 while (v!=0) { temp = u%v。 u=v。 v=temp。 } return u。 } int main() { int m,n。 printf(Please input two numbers:\n)。 scanf(%d%d,amp。m,amp。n)。 printf(gcd=%d,f(m,n))。 } 程序結(jié)果顯示: (五)編寫一個程序,驗證歌德巴赫猜想:一個大于等于4的偶數(shù)都是兩個素數(shù)之和。 分析:利用for語句和循環(huán)語句找到任意偶數(shù)的兩素數(shù)之和。 include include define N 40 int gedebahe(int)。 int main() { int i=6,n。 printf( 4 = 2 + 2\n)。 for(。i=N。i+=2) { for(n=3。n = i/2。n+=2) if(gedebahe(n)) if(gedebahe(in)) { printf(%4d = %2d + %2d\n,i,n,in)。 break。 } if(n i/2) printf(error %d\n,i)。 } return 0。 } int gedebahe(int i) { int j。 if(i = 1) return 0。 if(i == 2) return 1。 if(!(i % 2)) return 0。 for(j = 3。j = sqrt(i)。j += 2) if(!(i % j)) return 0。 return 1。 } 程序結(jié)果顯示(部分): (六)編寫一個程序證明對于在符號常量BEGIN和END之間的偶數(shù)這一猜測成立。例如,如果BEGIN為10,END為20,程序的輸出應為:GOLDBACH39。S CONJECTURE:Every even number n=4 is the sum of two primes.10=3+712=5+7……20=3+17分析:將上題的輸出范圍限制在10到20includeincludedefine M 10define N 20int gedebahe(int)。int main(){ int i,n。 printf(GOLDBACH39。S CONJECTURE:\n)。 printf(Every even number n=4 is the sum of two primes.\n)。 for(i=M。i=N。i+=2) { for(n=3。n = i/2。n+=2) if(gedebahe(n)) if(gedebahe(in)) { printf(%d = %d + %d\n,i,n,in)。 break。 } if(n i/2) printf(error %d\n,i)。 } return 0。}int gedebahe(int i){ int j。 if(i = 1) return 0。 if(i == 2) return 1。 if(!(i % 2)) return 0。 for(j = 3。j = sqrt(i)。j += 2) if(!(i % j)) return 0。 return 1。}程序結(jié)果顯示: 實驗小結(jié) 通過此次實驗,我大致了解了C程序函數(shù)的特點,可以利用各種條件語句和循環(huán)語句來簡化問題,解決一些人力難以解決的問題猜想。5 編譯預處理實驗 實驗目的 (1)掌握文件包含、宏定義、條件編譯、assert宏的使用; (2)練習帶參數(shù)的宏定義、條件編譯的使用; (3)練習assert宏的使用; (4)使用開發(fā)環(huán)境中的調(diào)試功能:單步執(zhí)行、設置斷點、觀察變量值。 實驗內(nèi)容 (一)下面是用宏來計算平方差、交換兩數(shù)的源程序,在這個源程序中存在若干語法和邏輯錯誤。要求在計算機上對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務。include define SUM a+bdefine DIF abdefine SWAP(a,b) a=b,b=avoid main{ int b, t。 printf(Input two integers a, b:)。 scanf(%d,%d, amp。a,amp。b)。 printf(\nSUM=%d\n the difference between square of a and square of b is:%d,SUM, SUM*DIF)。 SWAP(a,b)。 Printf(\nNow a=%d,b=%d\n,a,b)。}修改后的程序如下:   include    define SUM (a+b)   define DIF (ab)   define SWAP(a,b) t=a,a=b,b=t   int main(void)   { int a,b,t。 printf(Input two integers a b:)。 scanf(%d%d, amp。a,amp。b)。 printf(\nSUM=%d\nthe difference between square of a and square of b is:%d,SUM,SUM*DIF)。 SWAP(a,b)。 printf(\nNow a=%d,b=%d\n,a,b)。 return 0。}程序結(jié)果顯示。 (二)  下面是用函數(shù)實現(xiàn)求三個數(shù)中最大數(shù)、計算兩數(shù)之和的程序,在這個源程序中存在若干語法和邏輯錯誤。要求:1)對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務;   2)用帶參數(shù)的宏替換函數(shù)max,來實現(xiàn)求最大數(shù)的功能。void main(void){ int a, b, c。 float d, e。 printf(Enter three integers:)。 scanf(%d,%d,%d,amp。a,amp。b,amp。c)。 printf(\nthe maximum of them is %d\n,max(a,b,c))?!rintf(Enter two floating point numbers:)。 scanf(%f,%f,amp。d,amp。e)?!rintf(\nthe sum of them is %f\n,sum(d,e))。}int max(int x, int y, int z){ int t。 if (xy) t=x。 else t=y。 if (tz) t=z。 return t。}float sum(float x, float y){ return x+y。}答(1)修改后的程序includeint max(int x, int y, int z){ int t。 if (xy) t=x。 else t=y。 if (tz) t=z。 retu
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1