《C語言程序設(shè)計(jì)實(shí)踐》課程報(bào)告_第1頁
《C語言程序設(shè)計(jì)實(shí)踐》課程報(bào)告_第2頁
《C語言程序設(shè)計(jì)實(shí)踐》課程報(bào)告_第3頁
《C語言程序設(shè)計(jì)實(shí)踐》課程報(bào)告_第4頁
《C語言程序設(shè)計(jì)實(shí)踐》課程報(bào)告_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、北方民族大學(xué)程報(bào)名稱:程序設(shè)計(jì)實(shí)踐軟件工程(2)班李思良20152170王曉鋒2015-2016 學(xué)年春季學(xué)期課程報(bào)告任務(wù)書30個(gè)小程序組合成一個(gè)大程序主要內(nèi)容1- -已知半徑求圓面積2- -已知球半徑,求表面積和體積3- -輸入兩個(gè)實(shí)數(shù),交換其值輸出4- -輸入兩個(gè)整數(shù),求他們的平方和5- -分段計(jì)費(fèi)6- -求一元二次方程的根7- -判斷三個(gè)整數(shù)是否能構(gòu)成三角形8- -計(jì)算11000之間能被三整除的所有自然數(shù)之和9- -猴子吃桃問題-輸入一個(gè)正整數(shù),求位數(shù)和位數(shù)之和-輸入一行字符,統(tǒng)計(jì)大小寫字母,數(shù)字和其他字符-輸入一個(gè)四位數(shù),將其加密后輸出-用for,while , dowhile循環(huán)實(shí)現(xiàn)

2、100以內(nèi)素?cái)?shù)之和-將大于10元小于100元的錢換成1元,2元,5元的組合-輸出99乘法口訣10111214151617- -驗(yàn)證哥德巴赫猜想18- -求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)19- -判斷素?cái)?shù)10個(gè)20- -求(m,n)以內(nèi)全部素?cái)?shù),每行輸出21- -輸出10000到99999的所有回?cái)?shù)22- -兩個(gè)6*6矩陣的乘積23- -對一批數(shù)進(jìn)行排列,求出最大值與平均數(shù)24- -輸入一批學(xué)生的成績,換成五分制25- -逆序輸出26- -求階乘27- -用遞歸函數(shù)求Fib on acci數(shù)列的前40個(gè)數(shù),每行輸出 8個(gè)28- -輸入某年某月某日,判斷這一天是這一年的第幾天29- -寫出10

3、00以內(nèi)的所有完數(shù)30- -輸入年和天數(shù),輸出對應(yīng)的年、月、日 將以上30個(gè)子函數(shù)放在一個(gè)主函數(shù)內(nèi)進(jìn)行調(diào)用。、提交材料應(yīng)包括:(1)系統(tǒng)源代碼(2 )課程報(bào)告二、整個(gè)設(shè)計(jì)過程具體要求(1)需求分析對子函數(shù)各功能進(jìn)行分析,設(shè)計(jì)出需要完成的功能,完善各個(gè)任務(wù)子函數(shù)的調(diào)用關(guān)系;(2)設(shè)計(jì)過程要求名、參數(shù)、返回值等)進(jìn)一步明確各模塊調(diào)用關(guān)系,進(jìn)一步完善模塊函數(shù)細(xì)節(jié)(函數(shù)(3)實(shí)現(xiàn)過程養(yǎng)成良好的編碼習(xí)慣、完成各個(gè)模塊并進(jìn)行測試,最終完成系統(tǒng)整體測試;(4)總結(jié)階段按照要求完成系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)報(bào)告,并進(jìn)行總結(jié)、答辯。成績評定報(bào)告撰寫情況(30分)系統(tǒng)完成情況(30分)答辯情況(40分)內(nèi)容20分規(guī)范程度5分

4、程序測試5分基本功能20分?jǐn)U展功能10分自述情況10分答辯情況30分總分成績評定教師:1.需求分析經(jīng)過大一上學(xué)期的理論學(xué)習(xí),在基礎(chǔ)實(shí)驗(yàn)的基礎(chǔ)上,本學(xué)期我們繼續(xù)開設(shè)了C語言程序設(shè)計(jì)實(shí)踐課。課程要求我們對已經(jīng)學(xué)習(xí)的基礎(chǔ)實(shí)驗(yàn)進(jìn)行整合與銜接處理,并最終形成一個(gè)系統(tǒng)性質(zhì)的規(guī)模較大的程序。本次課程設(shè)計(jì)要求我們達(dá)到能獨(dú)立完成一個(gè)1000行以上的程序,完成后要求實(shí)現(xiàn)已知半徑求圓面積、已知球半徑,求表面積和體積,輸入兩個(gè)實(shí)數(shù)、交換其值輸出等30中功能。通過整個(gè)程序的開發(fā)過程,最終使我們掌握利用計(jì)算機(jī)解決實(shí)際問題的基本方法,熟悉C語言開發(fā)的全過程,提高綜合應(yīng)用 C語言的能力、編程和調(diào)試能力,為學(xué)習(xí)計(jì)算機(jī)后續(xù)課程打

5、好專業(yè)基礎(chǔ)。2.概要設(shè)計(jì)模塊劃分:1. int diyi()2. int dier()3. void disan()4. void disi()5. void diwu()6. void diliu()7. void diqi()8. void diba()9. void dijiu()10. void dishi()11. void dishiyi()12. void dishier()13. int dishisan()14. void dishisi()15. void dishiwu()16. void dishiliu()17. void dihsiqi()18. void dish

6、iba()已知半徑求圓面積已知球半徑,求表面積和體積輸入兩個(gè)實(shí)數(shù),交換其值輸出輸入兩個(gè)整數(shù),求他們的平方和分段計(jì)費(fèi)求一元二次方程的根判斷三個(gè)整數(shù)是否能構(gòu)成三角形計(jì)算11000之間能被三整除的所有自然數(shù)之和猴子吃桃問題輸入一個(gè)正整數(shù),求位數(shù)和位數(shù)之和輸入一行字符,統(tǒng)計(jì)大小寫字母,數(shù)字和其他字符輸入一個(gè)四位數(shù),將其加密后輸出用冒泡排序?qū)?0個(gè)數(shù)排序用for,while,dowhile循環(huán)實(shí)現(xiàn)100以內(nèi)素?cái)?shù)之和將大于10元小于100元的錢換成1元,2元,5元的組合 輸出99乘法口訣驗(yàn)證哥德巴赫gcd(i nt m,i nt n)int lcm(i nt m,i nt n)求兩個(gè)正整數(shù)的最大公約數(shù)和最

7、小公倍數(shù)19. void dihsijiu()20. void diershi()21. void diershiyi()22. void diershier()23. void diershisa n()int isp rime(i nt m) 判斷素?cái)?shù)求(m,n)以內(nèi)全部素?cái)?shù),每行輸出輸出10000到99999的所有回?cái)?shù)兩個(gè)6*6矩陣的乘積void all Primes(i nt m,i nt n)10個(gè)void sort(i nt array,i nt n)輸入一批學(xué)生的成績,換成五分制long reverse(long number)返回 number 的逆序數(shù)逆序輸出求階乘用遞歸函數(shù)

8、求Fib on acci數(shù)列的前40個(gè)數(shù),每行輸出8個(gè)對一批數(shù)進(jìn)行排列,求出最大值與平均數(shù)24. int diershisi()char switchScore(i nt score)25. void diershiwu()26. void diershiliu()27. void diershiqi()28. i nt dierhsiba()輸入某年某月某日判斷這一天是這一年的第幾天29. void diershijiu() 寫出1000以內(nèi)的所有完數(shù)30. void disa nshi()void Mon thDay(i nt year,i nt yearDay,i nt *pMon th

9、,i nt *p Day)輸入年和天數(shù),輸出對應(yīng)的年、月、日31. void my prin t()顯示菜單界面將以上30個(gè)子函數(shù)放在一個(gè)主函數(shù)內(nèi)進(jìn)行調(diào)用。int mai n()主函數(shù)3. 詳細(xì)設(shè)計(jì):#in clude #in clude #in clude #in clude #in clude#defi ne PI 3.14void myprint();/*顯示菜單界面*/*此函數(shù)的功能是:已知圓半徑R的值,求圓的面積 S。*/int diyi()float r,area;printf(請輸入圓的半徑:);scan f(%f, &r);area = PI * r *r;printf(該圓的

10、面積為:%fn”,area);return area;/*此函數(shù)的功能是:已知球半徑R的值,求球的表面積 S和球的體積V。*/int dier()S = 4 n R2;V = 4/3 n R3 ;float r,s,v;printf(請輸入球的半徑:);scan f(%f, &r);s = 4 * PI * r *r;printf(該球的表面積為:%fn,s);v = s * r / 3;printf(該球的體積為:fn”,v);/*此函數(shù)的功能是:從鍵盤輸入兩個(gè)實(shí)數(shù),并交換其值后輸出。*/ void disa n()double x,y, z;printf(請輸入兩個(gè)實(shí)數(shù):);printf(

11、”交換前兩個(gè)實(shí)數(shù)為:%f,%fn,x,y);z = x; x = y; y =乙printf(”交換后兩個(gè)實(shí)數(shù)為:%f,%fn,x,y);/*此函數(shù)的功能是:從鍵盤輸入兩個(gè)整數(shù),輸出它們的平方和。*/void disi()int x,y, z;printf(請輸入兩個(gè)整數(shù):);scan f(%d%d, &x,& y);printf(%d 和 %d 的平方和為: %dn,x,y,x*x+y*y);/*此函數(shù)的功能是:創(chuàng)建時(shí)間:*/void diwu()int x;double y;printf(請輸入x :);scan f(%d, &x );if( x =0 & x 0)x1 = (-b + s

12、qrt(delt)/(2*a);x2 = (-b - sqrt(delt)/(2*a);printf(有兩個(gè)不同的實(shí)根:x1 = %.2f,x2 = %.2f。n,x1,x2);elseelseprintf(” 無實(shí)根。n”);printf(”不是一元二次方程。n);/該程序的功能是:/*從鍵盤輸入三個(gè)整數(shù),判斷能否由它們作為三邊長構(gòu)成一個(gè)三角形。(提示:任意兩邊之和大于第三邊。)*/ void diqi()int a,b,c;printf(請輸入三個(gè)整數(shù):);scan f(%d%d%d, &a,&b,&c);if(a+bc & a+cb & b+ca)rr);printf(”三個(gè)整數(shù)可以作為

13、三條邊構(gòu)成一個(gè)三角形。elseprintf(”不能構(gòu)成一個(gè)三角形);該函數(shù)的功能是:用循環(huán)語句計(jì)算11000之間的能被3整除的所有自然數(shù)的和。/*分別用do.while, while, for三種循環(huán)語句求和,輸出結(jié)果。*/ void diba()int i,sum_for = 0;for( i=3; i=1; day-)p each_ num = 2 * (p each_ num + 1);IIprintf(第 %2d 天的桃子個(gè)數(shù)為 %6d .n,day,peach_num);II第一天的桃子數(shù)即為所摘的桃子總數(shù)。輸出第一天的桃子數(shù)。printf(第1天摘的桃子總數(shù)為%d .n,peach

14、_num);I*輸入一個(gè)正整數(shù),求該整數(shù)的位數(shù)和各位數(shù)之和。*/I*逆序輸出一個(gè)正整數(shù)*Ivoid dishi(void)int n,count = 0, sum = 0,m;prin tf(E nter n:);I*輸入提示*Iscanf (%d, &n);m = n; II保存輸入的n的值,便于后面輸出while( n != 0)sum += n % 10;n = n I 10;count + ;printf(該數(shù)是%d,它共有%d位,它的各個(gè)數(shù)字之和為 %d。n,m,count, sum);/該函數(shù)的功能是: /*輸入十個(gè)字符,分別統(tǒng)計(jì)其中的英文大寫字母,小寫字母、數(shù)字字符和其他字符。*

15、/ void dishiyi()int count_upper = 0, coun t_lower = 0, coun t_digit = 0, coun t_other = 0,i,j;char ch10;rr);printf(請輸入十個(gè)字符,最好包含大小寫字母、數(shù)字和其他符號:getcharO;for(i=0;i10;i+)scan f(%c,&chi);prin tf(%c,ch9);for(j=0;j= A & chj = a & chj = O & chj = 9) coun t_digit +;coun t_other +;printf(大寫字母有%3d個(gè),n小寫字母有%3d個(gè),n

16、數(shù)字字符有 %3d個(gè),n其他字符有 %3d個(gè).n ,co unt_upp er,co un t_lower,co un t_digit,co un t_other);return ;/*此函數(shù)的功能是:編寫程序,完成以下功能:輸入一個(gè)四位數(shù),將其加密后輸出。方法是該數(shù)每一位上的數(shù)字加9,然后除以10取余,作為該位上的新數(shù)字,最后將千位和十位上的數(shù)字互換,百位和各位上的數(shù)字互換,組成加密后的新四位數(shù)。如:輸入 1257 ,輸出 4601。創(chuàng)建時(shí)間:*/ void dishier()int x,y,ge,shi,bai,qia n;因?yàn)槭且斎胍慌奈粩?shù),所以用循環(huán)結(jié)構(gòu);while(1)print

17、f(”請輸入一個(gè)四位的正整數(shù)x:);sca nf (%d, &x);if(x9999)break;/如果輸入的不是一個(gè)四位數(shù),則結(jié)束循環(huán)。/分離各位上的數(shù)字qian = x / 1000;bai=x % 1000 /100;/bai=x/100 - qia n*10;shi=x % 100/10;/shi=x/10 - qia n*100 - n *10;ge=x % 10;/ge=x - qia n*1000 - n *100 - o*10;printf(加密前該數(shù)的各位數(shù)字分別為:%d %d %d %drTqia n,bai,shi,ge);/查看分離的各個(gè)數(shù)字是否正確/加密 qia n

18、= (qia n + 9) % 10;bai = (bai + 9) % 10;shi = (shi + 9) % 10;ge = (ge + 9) % 10;y = Shi * 1000 + ge * 100 + qia n * 10 + bai;printf(加密前該數(shù)為:-6d,加密后該數(shù)變?yōu)椋?6dn,x, y);/*此函數(shù)的功能是:用冒泡法對10個(gè)數(shù)進(jìn)行排序*/int dishisa n()int i,j,t,a10;prin tf(i mput 10 nu mbers:);for(i=0;i10;i+)scan f(%d, &ai);for(i=0;i10;i+)for(j=0;j

19、10;j+)if(ajaj+1)t=aj;aj=aj+1;aj+1=t;prin tf(nthe result is :n);for(j=0;j10;j+)/*prin tf(%d ,aj);此函數(shù)的功能是用 for,while,do-while循環(huán)實(shí)現(xiàn)100以內(nèi)所有偶數(shù)之和*/ void dishisi()int i,sum=O;printf(”用for,while,do-while循環(huán)實(shí)現(xiàn)100以內(nèi)所有偶數(shù)之和”);for(i=2;i=100;i+=2)sum+=i;printf(for 循環(huán):sum=%dnn”,sum);i=2;sum=0;while(i=100)sum+=i;i+=2

20、;printf(while 循環(huán):sum=%dnn,sum);i=2;sum=0;dosum+=i;i+=2;while(i=100);printf(do-while 循環(huán):sum=%dnn”,sum);/*此函數(shù)的功能是:將一筆錢(大于10元,小于100元)換算成1元、2元和5元的紙幣組合。輸入金額,問有幾種換算方法?針對每一種換算方法,輸出各種面額的紙幣數(shù)量,要求每種硬幣至少有一枚。創(chuàng)建時(shí)間:*/void dishiwu()int nu m_1, nu m_2, nu m_5,co unt = 0;int money;printf(請輸入要換算的錢的金額:);scan f(%d,&mon

21、ey);prin tf(%d * %d = %2d, ”,i,j,i*j);printf(針對每種換算方法,各種面值的紙幣的數(shù)量分別為:n 5 元 2 元 1 元 n);for(nu m_5 =1; nu m_5 = mon ey/5 ; nu m_5 +)for(nu m_2 =1; nu m_2 = mon ey/2 ; num_2 +)for(nu m_1 =1; nu m_1 = money ; nu m_1 +)if( money = 5 * num_5 + 2 * num_2 + 1 * num _1)prin tf(%6d%6d%6drr,nu m_5, nu m_2, nu m

22、_1);count +;printf(共有%d種換算方法。n,cou nt);/*/該函數(shù)的功能是:用循環(huán)結(jié)構(gòu)輸出”九九乘法表”。*/ void dishiliu()int i,j;for(i = 1; i = 9; i+ )for(j = 1; j = i; j+ )prin tf(n);/*/該函數(shù)的功能是:驗(yàn)證哥德巴赫猜想:任何一個(gè)大于6的偶數(shù)均可表示為 2個(gè)素?cái)?shù)之和。要求將6到100之間的偶數(shù)都表示為 2個(gè)素?cái)?shù)之和,輸出時(shí)一行輸出4組?;舅枷耄簩?6 100之間的所有偶數(shù)n,若n = a + b,則首先a、b 一定都是奇數(shù),所以選用窮舉法對a(3n/2范圍內(nèi)的奇數(shù))的值從3開始列舉,

23、若a是素?cái)?shù),再判斷b是否為素?cái)?shù)。*/ void dishiqi()intn ,i,a,b,c,d;int count ;printf(驗(yàn)證哥德巴赫猜想:任何一個(gè)大于6的偶數(shù)均可表示為2個(gè)素?cái)?shù)之和nn);for(n = 6;n = 100; n = n+2)count = 0;for( a = 3; a= n/2; a = a + 2)/判斷a是否為素?cái)?shù) c = sqrt(a);for(i=2;i c) /a是素?cái)?shù)的情況下/判斷b是否為素?cái)?shù) b = n - a;d = sqrt(b);for(i=2;i d) /b是素?cái)?shù)的情況下printf(” %3d = %3d + %3d”,n ,a,b);

24、count +;if(count % 4 =0) prin tf(n);prin tf(n);/*此函數(shù)的功能是:求兩正整數(shù)的最大公約數(shù)和最小公倍數(shù),用一個(gè)函數(shù)求最大公約數(shù),另一個(gè)函數(shù)求最小公倍數(shù)。*/ int gcd(i nt m,i nt n);in t lcm(i nt m,i nt n);void dishiba()printf(”求兩正整數(shù)的最大公約數(shù)和最小公倍數(shù)nn);int m,n, a,b;prin tf(i np ut m, n:);scan f(%d%d,&m,&n);a = gcd(m, n);b = lcm(m, n);prin tf(gcd(%d,%d)=%dn,m

25、,n,a);/使用枚舉法求最大公約數(shù)int gcd(i nt m,i nt n) int i,te mp;temp = m =1; i- )/在1,temp之間找公倍數(shù)if( m % i = 0 & n % i = 0 ) return i;/使用枚舉法求最小公倍數(shù)in t lcm(i nt m,i nt n)int i,te mp;temp = m n ? m : n ; /臨時(shí)變量temp存儲(chǔ) m、n中較大的數(shù)for(i = temp; i = m * n; i+ ) / 在temp, m*n之間找公倍數(shù)if( i % m = 0 & i % n = 0 ) return i;/*此函數(shù)的

26、功能是:寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。*/void dishijiu()int n;int isp rime(i nt m);/此處是函數(shù)聲明printf(請輸入一個(gè)正整數(shù):);scan f(%d,&n);輸入一個(gè)正整數(shù) nif(is prime( n) = 1) prin tf(%d is a p rime. n, n);elseprin tf(%d is not a p rime. n, n);/*定義判斷素?cái)?shù)的函數(shù),如果 x是素?cái)?shù)則返回1 (真”);否則返回0(假)*/in t is primeQ nt m)int i;double n;if(m = 1

27、) return 0;/* 1不是素?cái)?shù),返回0 */n = sqrt(m);for( i = 2; i = n; i+)if (m % i = 0)/*如果m不是素?cái)?shù)*/return 0;/*返回0 */return 1;/* m是素?cái)?shù),返回1 */*求m,n以內(nèi)的全部素?cái)?shù)(1m=*500),每行輸出10個(gè)。素?cái)?shù)就是只能被 1和自身整除的正整數(shù),是素?cái)?shù),2是素?cái)?shù)。*/*使用嵌套循環(huán)求一定范圍以內(nèi)的全部素?cái)?shù)*/*調(diào)用求平方根函數(shù),需要包含數(shù)學(xué)庫*/*聲明:判斷素?cái)?shù)的函數(shù),如果x是素?cái)?shù)則返回1(真);否則返回0(假)*/in t is prime(i nt m);聲明子函數(shù):輸出m,n范圍內(nèi)的所有

28、素?cái)?shù)。void all Primes(i nt m,i nt n);void diershi()int count, m, n,x;printf(”請輸入正整數(shù)的范圍m 和 n (1m=n500):);scan f(%d%d,&m,&n);/*count = 0;/count記錄素?cái)?shù)的個(gè)數(shù),并用于控制輸出格式for(x = m; x = n; x+)if(is prime(x)/如果x是素?cái)?shù)coun t+;累加已經(jīng)輸出的素?cái)?shù)個(gè)數(shù)prin tf(%6d, x);/輸出xif(count % 10 = 0) / 如果 count 是 10 的倍數(shù),換行prin tf(n);*/all Pnmes(

29、m, n);調(diào)用子函數(shù)來完成此功能prin tf(n);/定義子函數(shù):輸出m,n范圍內(nèi)的所有素?cái)?shù)。void all Pnmes(i nt m,i nt n)int x,co un t=0;for(x = m; x = n; x+)if(is pnme(x)/*如果x是素?cái)?shù)*/prin tf(%6d, x);/*輸出x */coun t+;/*累加已經(jīng)輸出的素?cái)?shù)個(gè)數(shù)*/if(cou nt % 10 = 0) /*如果count是10的倍數(shù),換行*/prin tf(n);/*輸出10000至U 99999的所有回文數(shù)回文數(shù)”是一種數(shù)字如:98789,這個(gè)數(shù)字正讀是98789,倒讀也是98789,正

30、讀倒讀一樣,所以這個(gè)數(shù)字就是回文數(shù)還有10001,11111,12721等都是回文數(shù)*/void diershiyi()printf(輸出10000到99999的所有回文數(shù)nn);int a,b,c,d,e;long f=10000;dof+;a=f/10000;b=(f-a*10000)/1000;c=(f-a*10000-b*1000)/100;d=(f-a*10000-b*1000-c*100)/10;e=f-a*10000-b*1000-c*100-d*10;if (a=e&b=d) prin tf(%8ld,f);while (f);/*求兩個(gè)矩陣的乘積*/ void diershi

31、er()int a66;int i,j,sum=0;int max=0;printf(請輸入一個(gè)6*6數(shù)組的各個(gè)元素:n);for(i=0;i6;i+)for(j=0;jmax) max=aij;sum+=aij;printf(最大值為:dn 所有元素的和為%dn,max,sum);for(i=0;i6;i+)for(j=0;j6;j+) if(aij=max)printf(最大值的行標(biāo):d 列標(biāo):dn,i+1,j+1);break;if(aij=max) break;printf(n輸出排序前的數(shù):n);prin tf(%3d,arrayi);/*對一批數(shù)進(jìn)行排列,并求出最大值與平均數(shù)*/#

32、defi ne MAX 100#defi ne SWA P(x,y)int t;t=x;x=y;y=t; void diershisa n()int n ,i;void sort(i nt a,i nt );int arrayMAX;printf(你想對多少個(gè)數(shù)進(jìn)行排序:n);scan f(%d,&n);sran d(u nsig ned)time(NULL);for(i=0;i n;i+)arrayi=ra nd()%50;for(i=0;i n;i+)prin tf(n);sort(array ,n);void sort(i nt array,i nt n)int i,k,j;double

33、 av=0;for(i=0;i n-1;i+)k=i;for(j=i+1;j arrayk)k=j;if(k!=i)SWAP (arrayi,arrayk);for(i=0;i n;i+)av+=arrayi;printf(輸出排序后的數(shù):n);for(i=0;i n; i+)prin tf(%3d,arrayi);printf(n 最大數(shù)是:dn,array0);printf(平均數(shù)是:lfn,av/n);prin tf(n);/*此函數(shù)的功能是:將學(xué)生成績由百分制換算成五分制創(chuàng)建時(shí)間:*/ char switchScore(i nt score);void diershisi()int s

34、core;char grade;char switchScore(i nt score);while(1)因?yàn)槭且斎胍慌奈粩?shù),所以用循環(huán)結(jié)構(gòu);printf(”請輸入一個(gè)100以內(nèi)的正整數(shù):”);sca nf(%d, &score );if(score100) break;若輸入的不是 100以內(nèi)的整數(shù),在結(jié)束循環(huán)。grade = switchScore(score);/*printf(輸入的百分制成績?yōu)椋?-6d,其對應(yīng)的五分制等級為:%-6cn,score, grade);*/char switchScore(i nt score)char grade;switch( score / 1

35、0)case 10: case 9: prin tf(A n);break;break;case 8: prin tf(Bn);case 7: prin tf(Cn);break;case 6: prin tf(Dn);break;default: prin tf(En);/*輸入一個(gè)正整數(shù),將它逆序輸出。要求定義并調(diào)用函數(shù) reverse (number),它的功能是返回 number的逆序數(shù)。例如,reverse( 12345)的返回值是 54321.*/*逆序輸出一個(gè)正整數(shù)*/ void diershiwu()printf(逆序輸出一個(gè)正整數(shù)nn);long n,m;long rever

36、se(l ong nu mber);prin tf(E nter n:);/*輸入提示*/scanf (%d, &n);m = reverse (n);printf(該數(shù)是:%d,它的逆序數(shù)是:d.n, n,m);long reverse(lo ng nu mber) long m ;m = 0;/保存輸入的n的值,便于后面輸出while( nu mber != 0)m = m * 10 + number % 10 ;nu mber = nu mber / 10;return m ;/求1-100階乘之和 void diershiliu()printf(求 110 階乘之和nn);int i=

37、0;long temp=1;double sum=0;for(i=1;i=10;i+)temp *=i;sum+=te mp;prin tf(sum=%lfn,sum);用遞歸求fibonacci數(shù)列的前40個(gè)數(shù),每行輸出8個(gè)void diershiqi()int f(int n);int i;int coun t=0;for(i=0;i40;i+)coun t+;prin tf(%d ,f(i);if(cou nt%8=0) prin tf(n);int f(int n)switch( n)case 0:retur n 0;case 1:retur n 1;defaultreturn f(n

38、-1)+f( n-2);/輸入某年某月某日,判斷這一天是這一年的第幾天?int diershiba()int i, days = 0;int year, mon th, day;int day_tab13 = 0, 31,28, 31, 30, 31,30, 31, 31,30, 31,30, 31;printf(”輸入年、月、日,用空格隔開: );scan f(%d%d%d, &year, &mon th, &day);for (i=1; i=3)days+=1;prin tf(%d 年 %d 月 %d 日是這一年的第 %d 天! n, year, mon th, day, days);6=

39、1 + 2+ 3.return 0;/* 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如編程找出1000以內(nèi)的所有完數(shù)。*/void diershijiu()int i,j,sum;for(i=2;i1000;i+)sum=0;for(j=1;jdays* pMon th-1)/ 如果哪一天超出這個(gè)月yearDay-=days*pMonth-1;/求出超出此月的天數(shù)(*pMonth)+;/繼續(xù)考慮下一月*p Day=yearDay;void myprint()/*顯示菜單界面*/prin tf(”nnnnnnnrT);|n);printf(”printf(”|7-判斷三個(gè)整數(shù)是否能

40、構(gòu)成三角形|n);printf(”8-計(jì)算11000之間能被三整除的所有自然數(shù)之和|n);printf(”9-猴子吃桃問題|n);printf(”10-輸入一個(gè)正整數(shù),求位數(shù)和位數(shù)之和|n);|n);printf(”printf(”printf(”printf(”printf(”printf(”11-輸入一行字符,統(tǒng)計(jì)大小寫字母,數(shù)字和其他字符12-輸入一個(gè)四位數(shù),將其加密后輸出13-用冒泡排序?qū)?1014-用for,while, dowhile循環(huán)實(shí)現(xiàn)100以內(nèi)素?cái)?shù)之和15-將大于10元小于100元的錢換成1元,2元,5元的組合16-輸出 99 乘|n);|n);|n);|n);|n);pr

41、intf(”|17-驗(yàn)證哥德巴赫猜想|n);printf(”|18-求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)|n);printf(”|19-判斷素?cái)?shù)|n);printf(”|20-求(m,n)以內(nèi)全部素?cái)?shù),每行輸出10個(gè)|n);printf(”|21-輸出 10000 到99999的所有回?cái)?shù)printf(”|22-兩個(gè)6*6矩陣的乘積printf(”|23-對一批數(shù)進(jìn)行排列,求出最大值與平均數(shù)|n);printf(”|24-輸入一批學(xué)生的成績,換成五分制|n);printf(”|25-逆序輸出|n);printf(”|26-求階乘|n);printf(”|27-用遞歸函數(shù)求Fib on acci數(shù)

42、列的前40個(gè)數(shù),每行輸出8個(gè)|n);printf(”|28-輸入某年某月某日,判斷這一天是這一年的第幾天|n);printf(”|29-寫出 1000以內(nèi)的所有完數(shù)printf(”|30-輸入年和天數(shù),輸出對應(yīng)的年、月、日|n);|n);|n);|n);printf(”|n);int mai n()printf(”|n);char yes_no;int choose;while(1)domyprint();/*顯示主菜單*/);printf(” sca nf(%d,&choose);/*choose=getch();*/ switch(choose)case 1: diyi(); break;case 2: dier(); br

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論