10-11學(xué)年第二學(xué)期程序設(shè)計(jì)實(shí)驗(yàn)教案new_第1頁
10-11學(xué)年第二學(xué)期程序設(shè)計(jì)實(shí)驗(yàn)教案new_第2頁
10-11學(xué)年第二學(xué)期程序設(shè)計(jì)實(shí)驗(yàn)教案new_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、10-11學(xué)年第二學(xué)期程序設(shè)計(jì)實(shí)驗(yàn)教案new 1. 輸入并運(yùn)行下面最簡單的c程序。 (1)輸出hello world字符串。 #include mian()printf( (3) 2.5+2*7%2/4 #include int main() printf(return 0; (4) 3*(int)sqrt(34)-sin(6)*5+0x2af #include #include int main() printf(- sin(6) * 5 + 0x2af); return 0; (5) 4.5+8%5*(int)(2.7+4.5)/2%4 #include #include int main

2、() printf(result is %fn+ 8 % 5 * (int)(2.7 + 4.5) / 2 % 4); return 0; 3 編程計(jì)算5x2?2x?6的兩個根。 提示:對這個具體問題,可以先人工計(jì)算出判別式的值,以此作為已知信息就可以編程程序了。 ? ? ? 將輸入的文件存盤。 通過build菜單或相應(yīng)的工具按鈕對程序進(jìn)行編譯和連接。 執(zhí)行連接后的程序。 #include int main() printf( return 0; (2)輸入并運(yùn)行求三個數(shù)之和的程序。 #include mian() printf( ? ? ? 輸入該程序并存盤,然后進(jìn)行編譯和連 接,如果出錯,

3、進(jìn)行調(diào)試,直到無錯為止。 運(yùn)行程序,并查看運(yùn)行結(jié)果,判斷結(jié)果正確與否。 修改輸出格式和三個數(shù)據(jù),重新編譯、連接和運(yùn)行程序,分析運(yùn)行結(jié)果。 #include int main() printf( return 0; #include #include int main() double diat = 2 * 2 -4 * 5 * 6; printf(-2/2.0/5,sqrt(-diat)/2.0/5,-2/2.0/5,-sqrt(-diat)/2.0/5); return 0; 1 定義求圓球的體積、表面積,求圓柱體的體積、表面積的函數(shù)。 #include #define pi 3.14159

4、3 #define square(r) r*r #define cubic(r) r*r*r double circle_volume(double r) return 4/3.0*pi*cubic(r); double surfacearea(double r) return 4.0*pi*square(r); 1 2. 編程計(jì)算表達(dá)式的值。 (1) 120024?4?5 include int main() printf( return 0; (2)#include #include int main() printf(result is %fn* 3.141593 * sqrt(13 +

5、 pow(2.718282,2.0); return 0; double cylinder_volume(double r,double h) return pi*square(r)*h; double cylinder_sfarea(double r,double h) return 2.0*pi*r*(r+h); 1 定義函數(shù):double tmax(double, double, double),它返回三個參數(shù)中最大的一個。寫一個主函數(shù)試驗(yàn)各種參數(shù)情況。 include double tmax(double a,double b,double c) double max; int mai

6、n() double x,y,z; printf(scanf( printf(,z); return 0; max = a; if(b max) max = b; if(c max) max = c; return max; printf( int main() print6or7(); print(); return 0; 3 scanf函數(shù)輸入一個百分制成績,輸出成績 等級a、b、c、d、e,其中90100分為 a,8089分為b,7079分為c,6069分為d ,60分以下分為e。 要求百分制成績用整數(shù)輸入,在輸入前要有提示,輸入后要判斷成績的合理性,對不合理的成績,應(yīng)輸出出錯信息。輸出

7、結(jié)果中應(yīng)包括百分制和等級成績,并要有文字說明。使用if語句和switch語句分別實(shí)現(xiàn)。 #include /*int ifelse_stru() int score; printf(scanf(printf( while(score100) printf(error!please input one input one score(0-100): 2 請寫一個程序,它打印出1到100之間被 6或者7整除的所有的數(shù);修改這個程序,使它打印出1到100之間只被6或者7之 一整除的數(shù)(不包括同時被兩者整除的那些數(shù))。 #include void print6or7() int i; void pri

8、nt() int i; score(0-100): scanf( if(score=90) printf( else if(score=80) printf( else if(score=70) printf( else if(score=60) printf( else printf( 2 for(i=1;ifor(i=1;iif(i%6=0)|(i%7=0) */ int switch_stru() int score; printf(score(0-100): input one return sum; int main() long k,i; double sum=0.0; print

9、f( scanf( printf( while(k printf(value error!please input k value(k=1)again: scanf(printf( scanf(printf( while(score100) printf(error!please input one score(0-100): scanf( switch(score/10) case 10:case 9:printf( case 8:printf( case 7:printf( case 6:printf( default:printf( for(i=1;i printf( printf( 5

10、 考慮不用函數(shù)(例如isprime)直接寫出對 6200的偶數(shù)驗(yàn)證哥德巴赫猜想的程序(利用循環(huán)、條件、break語句等,不使用goto語句)。將這樣寫出的程序與用定義函數(shù)的方式寫出的程序比較。例如考察兩個函數(shù)的行數(shù)、字節(jié)數(shù),其中各種控制結(jié)構(gòu)的嵌套深度,控制結(jié)構(gòu)使用的個數(shù)等。 #include int main() int n,m,k,misprime,nmisprime;/*misprime=0,m不是素?cái)?shù),否則m是素?cái)?shù);nmisprime=0,(n-m)不是素?cái)?shù),否則(n-m)是素?cái)?shù)*/ for(n = 6;n if(m % k = 0) misprime = 0; break; mispr

11、ime = 1; e);break; return 0; int main() ifelse_stru(); switch_stru(); return 0; 4 寫函數(shù)計(jì)算 1! + 2! + . + k!。用主函數(shù)試 驗(yàn)函數(shù)對一系列k值計(jì)算出的結(jié)果。你寫出的函數(shù)對1到10計(jì)算結(jié)果都正確嗎?如果出現(xiàn)錯誤,弄清楚是什么原因。這個程序能對k = 30得到正確結(jié)果嗎?(另外,你能只用一重循環(huán)完成函數(shù)的定義嗎?) #include double jiecheng(long k) double sum=1.0; long i; for(i=1;i3 for(k = 2;k * k 斷(n-m)是否素?cái)?shù)

12、*/ if(n-m) % k = 0) nmisprime = 0; break; cmn?n!(n?m)!m! 要求: (1)編寫一個函數(shù)計(jì)算n! (2)編寫主函數(shù),由鍵盤輸入n和m,調(diào)用(1)中的函數(shù)完成計(jì)算。 (3)輸入n和m要給出提示,并檢查n和m的合理性,不合理的輸入應(yīng)輸出錯誤信息,并不再進(jìn)行計(jì)算。 (4)運(yùn)行程序并計(jì)算c8、c7、c8、c7、 5217 nmisprime = 1; if(misprime return 0; 1編寫程序,設(shè)計(jì)一個判別素?cái)?shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),調(diào)用這個判別函數(shù),并輸出是否為素?cái)?shù)的信息。 #include int isprime(int n)

13、 /*判斷一個數(shù)是否為素?cái)?shù)*/ int m; for(m = 2;m * m int main() int n; printf( while(scanf( while(getchar() != n) ; printf(incorrect.an again. if(isprime(n) printf(else printf( is not a prime c08。 #include long fact(int n) /*計(jì)算階乘*/ return n = 0 ? 1 : n * fact(n-1); int main() int n,m; printf( while(scanf(!= 2 | (

14、n while(getchar() != n) ; printf(incorrect.two integer again(nm=0): printf(= %d,m = %d,cnm = %dnreturn 0; 3將一個正整數(shù)n以相反的順序輸出的遞歸算法可以如下描述: 如果 要輸出的整數(shù)只有一位 則 輸出該整數(shù) 否則 輸出整數(shù)的個位數(shù)字 結(jié)束 反向輸出除個位以外的全部數(shù)字 integer 據(jù)此算法設(shè)計(jì)的遞歸算法如下: void printn(int n) if (n=0) number.n return 0; 2編寫程序,計(jì)算下面公式并輸出結(jié)果。 4 請編寫主程序,調(diào)用上述算法,反向輸出正整數(shù)

15、n。如輸入123,則輸出321。 #include int printn(int n) if(n = 0) int main() isdaffodil(); 1設(shè)計(jì)程序按步驟完成下列任務(wù): (1)編寫函數(shù)sort,實(shí)現(xiàn)對整數(shù)數(shù)組排序的 功能,具體排序方法自己選擇。 (2)主函數(shù)中,定義數(shù)組并使用初始化方 法給出數(shù)組初值。測試數(shù)據(jù)為16,5,8,12,1,17,3,6,10,2。 (3)主函數(shù)中調(diào)用sort函數(shù)實(shí)現(xiàn)對測試數(shù) 據(jù)排序的功能。要求分別打印出排序前后數(shù)組元素的值。 #include int sort(int length,int arr) int i,j,t; for(j = 0;j

16、interger for(i = 0;i if(arri arri+1) t = arri; arri = arri+1; arri+1 = t; printn(n/10); return 0; int main() int n; printf( while(scanf(while(getchar() != n) ; incorrect.an printf(again: printf( printf( printn(n); printf(return 0; 5 編程打印所有“水仙花數(shù)”。(一個三位的 十進(jìn)制數(shù),其三個數(shù)位的數(shù)字之立方和等于這個數(shù),稱其為水仙花數(shù)) #include int is

17、daffodil() int i,a,b,c; for(i = 100;i printf( for(i = 0;i return 0; int main() int i,n,array = 16,5,8,12,1,17,3,6,10,2; n = sizeof(array) / sizeof(array0); printf( for(i = 0;i printf(printf( b = (i - 100 * a) / 10; c = i % 10; if(a * a * a + b * b * b + c * c * c) = printf( sort(n,array); return 0;

18、5 putchar(n); 2 下面程序?qū)崿F(xiàn)將一個字符串倒置的功能,編寫程序,從鍵 strcpy(arr1,arr); daozhi(arr); 盤接受一個字符串,利用給出的函數(shù)daozhi判定輸入的字符串是否為回文。 倒置是指將字符串中的字符按相反順序排列,如abcde倒置后變?yōu)閑dcba。所謂回文是指正序和反序字符排列方式相同的字符串,如abcdcba是回文。 字符串倒置的函數(shù)如下: printf( if(strcmp(arr,arr1) = 0) else printf( return 0; printf( void daozhi(char str) int i,k,n; char c,*s=st

溫馨提示

  • 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

提交評論