C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc

上傳人:good****022 文檔編號(hào):116784849 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):47 大?。?33KB
收藏 版權(quán)申訴 舉報(bào) 下載
C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc_第1頁(yè)
第1頁(yè) / 共47頁(yè)
C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc_第2頁(yè)
第2頁(yè) / 共47頁(yè)
C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc_第3頁(yè)
第3頁(yè) / 共47頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言中國(guó)石油大學(xué)(華東)c語(yǔ)言上機(jī)題.doc(47頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、1.1 Hello world.讓我們用C語(yǔ)言向世界問(wèn)好。最早的程序基本是這個(gè)樣子的:程序一:#include void main() printf(Hello world.n);程序二:#include int main() printf(Hello world.n); return 0;上面的程序你任意模仿一個(gè),看看是否可以通過(guò)?如果你能通過(guò)這個(gè)簡(jiǎn)單的程序,那就讓我們繼續(xù)完成后面的習(xí)題吧。 輸入:無(wú)輸出:Hello world.#includeint main() printf(Hello world.n);1.2 Welcome to Beijing.讓我們來(lái)練習(xí)如何顯示多行文字。 輸入

2、:無(wú)輸出:就是下面的那段文字。#includevoid main()printf(Welcomen);printf(ton);printf(Beijing.n);1.3 練習(xí)最簡(jiǎn)單的printf和scanfprintf函數(shù)和scanf函數(shù)是C語(yǔ)言中最常用的函數(shù)之一,下面讓我們練習(xí)一下吧。 輸入:整型變量x的值。輸出:輸出整型變量x對(duì)應(yīng)的十進(jìn)制、八進(jìn)制和十六進(jìn)制形式。認(rèn)真觀察-1的八進(jìn)制和十六進(jìn)制輸出,請(qǐng)想想是為什么。#include int main()int x;scanf(%d,&x);printf(x=%d,x);printf(x=%o,x);printf(x=%xn,x);return

3、 0;1.4 練習(xí)兩個(gè)整數(shù)之間的運(yùn)算背景:基本練習(xí)。輸入:接受兩個(gè)整數(shù),每個(gè)整數(shù)之間使用空格分隔。例如輸入格式為:123 444輸出:分別輸出進(jìn)行+、-、*、/、*之后的運(yùn)行結(jié)果。#includeint main()int x,y; scanf(%d%d,&x,&y); printf(%d+%d=%dn,x,y,x+y); printf(%d-%d=%dn,x,y,x-y); printf(%d*%d=%dn,x,y,x*y); printf(%d/%d=%dn,x,y,x/y); printf(%d%d=%dn,x,y,x%y); return 0;1.5 學(xué)習(xí)打印你的第一個(gè)圖形背景:我們已

4、經(jīng)學(xué)習(xí)了printf函數(shù),這里給出了一個(gè)小程序,它運(yùn)行的結(jié)果是輸出一個(gè)由星號(hào)(*)組成的4*4的正方形。程序如下:#include int main() printf(*n); printf(*n); printf(*n); printf(*n); return 0;要求:按照上面的程序范例,編寫(xiě)一個(gè)小程序,要求輸出的是 4 行由*號(hào)組成的等腰三角形。輸入:無(wú)。輸出:指定圖形。#include int main() printf( *n); printf( *n); printf( *n); printf(*n); return 0;2.1 整型數(shù)的表示范圍編寫(xiě)一個(gè)循環(huán)程序,輸入 N 值,輸出

5、 N 的階乘。關(guān)于循環(huán)程序怎么編寫(xiě),可以參考教材第3章P66頁(yè)的例題4.2和第5章P82的例題5.1的內(nèi)容。注意整型數(shù)的表示范圍,如果當(dāng)輸入的 N 比較大時(shí),例如 N 等于 20 時(shí),輸出怎么是負(fù)數(shù)了?自己想明白吧!#includevoid main()int N,i;int sum=1;N=2;scanf(%d,&N);if(N=16)for (i=1;i=17)printf(N is too big!n);2.2 求正弦函數(shù)值已知求正弦 sin(x) 的近似值的多項(xiàng)式公式為: sin(x) = x - x3/3! + x5/5! - x7/7!+ + (-1)n x2n+1/(2n+1)!

6、 + 編寫(xiě)程序,要求輸入 x (單位是弧度)和,按上述公式計(jì)算 sin(x) 的近似值,要求計(jì)算的誤差小于給定的。 此題當(dāng)然要用到循環(huán)語(yǔ)句,到第5章去找個(gè)貓來(lái)照著畫(huà)吧,循環(huán)的終止條件就是本次計(jì)算出來(lái)的正弦函數(shù)值和上次計(jì)算的值的差小于給定的。求兩個(gè)值的差時(shí),要求出其絕對(duì)值,使用庫(kù)函數(shù)fabs(),頭文件在math.h里。友情提示:給定的誤差值越小,計(jì)算的精度越高,但是要注意嘍,給的精度太高,你的程序會(huì)成為死循環(huán)。如果出現(xiàn)死循環(huán)的情況,可以用+鍵退出程序。#include #include int main() float x,eps,s,y=0,y0,t; int n,j; scanf(%f%f

7、,&x,&eps); n=t=j=1; s=x; do y0=y; if (n%2=0) y=y-s/t; else y=y+s/t; s*=x*x; t*=(j+1)*(j+2); j+=2; n+; while(fabs(y0-y)eps);printf(%fn,sin(x);system(PAUSE); return 0;2.3 判斷輸入的字符的類型我們將字符分為五類:大寫(xiě)字母、小寫(xiě)字母、數(shù)字、控制字符、其他字符。編寫(xiě)程序,從鍵盤輸入一個(gè)字符,輸出字符所屬的類型:大寫(xiě)字母時(shí)輸出capital letters, 小寫(xiě)字母時(shí)輸出small letters,數(shù)字是輸出figures,其他字符時(shí)

8、輸出 others。#includevoid main()char c; c = getchar ( ); if (c = 0 & c = A & c = a & c = z) printf (small lettersn); else printf (othersn);3.1 找零錢 假定有 5 角、 1 角、 5 分、 2 分和 1 分共 5 種硬幣,在 給顧客找硬幣時(shí),一般都會(huì)盡可能地選用硬幣個(gè)數(shù)最小的方法。 例如,當(dāng)要給某顧客找 7 角 2 分錢時(shí),會(huì)給他一個(gè) 5 角, 2 個(gè) 1 角 和 1 個(gè) 2 分的硬幣。試編寫(xiě)一個(gè)程序,輸入的是要找給顧客的零 錢(以分為單位),輸出的是應(yīng)該找回

9、的各種硬幣數(shù)目,并保 證找回的硬幣數(shù)最少。#include int main() int x1,x2,x3,x4,x5; int x; scanf(%d,&x); x1=x/50; x2=x%50/10; x3=x%50%10/5; x4=x%50%10%5/2; x5=x%50%10%5%2/1; printf(%dn,x1); printf(%dn,x2); printf(%dn,x3); printf(%dn,x4); printf(%dn,x5); return 0; 3.2 計(jì)算時(shí)鐘的夾角背景:鐘面上的時(shí)針和分針之間的夾角總是在 0 度 359 度之間。舉例來(lái)說(shuō),在十二點(diǎn)的時(shí)候兩針之

10、間的夾角為 0 度,而在六點(diǎn)的時(shí)候夾角為 180 度,在三點(diǎn)的時(shí)候?yàn)?90 度。本題要解決的是計(jì)算 0:00 到 12:00之間任意一個(gè)時(shí)間的夾角。輸入: 每組測(cè)試數(shù)據(jù)包含兩個(gè)數(shù)字:第一個(gè)數(shù)字代表小時(shí) ( 大于等于 0 小于 12) ,第二個(gè)數(shù)字代表分 ( 在區(qū)間 0, 59 上 ) 。 輸出: 對(duì)應(yīng)每組測(cè)試數(shù)據(jù),用常用格式顯示時(shí)間以及這個(gè)時(shí)候時(shí)針和分針間的最小夾角,精確到小數(shù)點(diǎn)后一位。友情提示:以表中心到12點(diǎn)的連線為基準(zhǔn),分針每走1分鐘是6度,時(shí)針與基準(zhǔn)的夾角每個(gè)小時(shí)也是30度,從整點(diǎn)開(kāi)始,每過(guò)1分鐘時(shí)針再增加0.5度。 提示:時(shí)鐘夾角計(jì)算公式|5.5m-30h|,h為時(shí)針,m為分針。求浮

11、點(diǎn)型絕對(duì)值的函數(shù)為fabs,需要包含math.h頭文件#include stdio.h#include math.hint main()int h,m;double angle;scanf(%d%d,&h,&m);angle=fabs(5.5*m-30*h);if(angle180)angle=360-angle;printf(At %d:%02d the angle is %.1f degrees.n,h,m,angle);3.3 照貓畫(huà)貓:計(jì)算圓柱的側(cè)面積及體積如果已知圓柱的底面半徑 r ,以及高 h ,則可計(jì)算出圓柱的側(cè)面積 s=2rh ,體積 v= r 2 h 。其中 =3.14159

12、26 輸入 第一行輸入圓柱的底面半徑 r第二行輸入圓柱的高 h 輸出 s=,v= 要求 1. 所有變量都定義為雙精度類型2. 結(jié)果精確到小數(shù)點(diǎn)后兩位#include stdio.h #define n 3.1415926 int main() float r,h,s,v; printf; scanf(%f%f,&r,&h); s=2*n*r*h; v=n*r*r*h; printf(s=%6.2f,v=%6.2fn,s,v); 3.4 分離整數(shù) 任意從鍵盤上輸入一個(gè)三位正整數(shù),要求正確地分離出它的個(gè)位、十位和百位,并分別在屏幕上輸出。比如輸入的三位正整數(shù) #include stdio.hint

13、 main()int x,hundreds,tens,units;printf;scanf(%d,&x);hundreds=x/100;tens=x%100/10;units=x%100%10;printf(units=%d,tens=%d,hundreds=%dn,units,tens,hundreds);3.5 雞兔同籠已知籠中有頭h個(gè),有腳f條,問(wèn)籠中雞兔各有多少只? 輸入:頭和腳的數(shù)目輸出:兔子和雞的數(shù)目(輸出語(yǔ)句為:printf(rabbit=%d,chicken=%d,rabbit,chicken);)Sample輸入:10 20輸出:rabbit=0,chicken=10#inc

14、lude stdio.hint main()int chicken,rabbit,f,h;scanf(%d%d,&h,&f);rabbit=(f-2*h)/2;chicken=(4*h-f)/2;printf(rabbit=%d,chicken=%dn,rabbit,chicken);4.1 溫度轉(zhuǎn)換背景: 經(jīng)常出國(guó)旅行的驢友都知道,需要時(shí)時(shí)了解當(dāng)?shù)氐臍鉁貭顩r,但不少國(guó)家采用了不同的溫度計(jì)量單位:有些使用華氏溫度標(biāo)準(zhǔn)(F),有些使用攝氏溫度(C)?,F(xiàn)在,請(qǐng)你根據(jù)溫度轉(zhuǎn)換公式設(shè)計(jì)一個(gè)溫度轉(zhuǎn)換程序,可以進(jìn)行溫度轉(zhuǎn)換。如果輸入攝氏溫度,顯示轉(zhuǎn)換的華氏溫度;如果輸入華氏溫度,顯示轉(zhuǎn)換的攝氏溫度。溫度轉(zhuǎn)

15、換的公式為:F(C95)32 ;C(F32)59 ;式中F-華氏溫度,C-攝氏溫度。輸入: 第一個(gè)數(shù)據(jù)(1 或 2 )確定轉(zhuǎn)換的類型:華氏轉(zhuǎn)攝氏(1);攝氏轉(zhuǎn)華氏(2);第二個(gè)數(shù)據(jù)是相應(yīng)需要轉(zhuǎn)換的溫度值。 輸出: 相應(yīng)的轉(zhuǎn)換后的溫度值(保留小數(shù)點(diǎn)后 2 位)。#include void main() int lx; double f,c; scanf(%d,&lx); if(lx=1) scanf(%lf,&f); c=(f-32)*5/9; printf(The Centigrade is %.2fn,c); else scanf(%lf,&c); f=(c*9/5)+32; printf(

16、The Fahrenheit is %.2fn,f); 4.2 分段函數(shù)有一分段函數(shù),y=f(x)。當(dāng)x小于6時(shí),y=x-12;當(dāng)x大于等于6且小于15時(shí),y=3x-1;當(dāng)x大于等于15時(shí),y=5x+9.從鍵盤上輸入一個(gè)整數(shù)x,輸出對(duì)應(yīng)的y值。 #include void main()int x,y;scanf(%d,&x);if(x6)y=x-12;else if(x15)y=3*x-1;elsey=5*x+9;printf(%dn,y);return 0;4.3 整數(shù)位數(shù)判斷 輸入一個(gè)不多于5位的正整數(shù),要求: (1)求它是幾位數(shù);(2)逆序打印出各位數(shù)字。#include #includ

17、e #define SIZE 5intmain(void) int bit_count;/位數(shù) long int input_num;/輸入數(shù) int resultSIZE;/存放各個(gè)位的數(shù) int i; scanf(%ld, &input_num); if (input_num 99999) printf(Invalid inputn); exit(1); for( bit_count = 0; input_num; +bit_count) resultbit_count = input_num % 10; input_num /= 10; printf(%dn,bit_count); fo

18、r(i = 0; i bit_count; +i) printf(%d,resulti); printf(n); exit(0);4.4 四位數(shù)拆分輸入一個(gè)四位數(shù),判斷千位、百位、十位和個(gè)位數(shù)字之和是否為偶數(shù),如果是,輸出Yes,如果不是,輸出No;如果不是四位數(shù),輸出Invalid data。 #includevoid main() int x,a,b,c,d,e; scanf(%d,&x); if(x/1000=1) printf(Invalid datan); else a=x/1000; b=x%1000/100; c=x%1000%100/10; d=x%1000%100%10; e

19、=(a+b+c+d)%2; if(e=0) printf(Yesn); else printf(Non); 4.5 磨磨你的砍柴刀:判斷三角形的形狀要求:輸入三角型的三條邊,判斷三角形的形狀。假設(shè)輸入的三邊邊長(zhǎng)均0。輸入:三角型的3條邊的長(zhǎng)度(int型)。輸出:等邊三角形:equilateral triangle.等腰三角形:isoceles triangle.不構(gòu)成三角形:non-triangle.一般三角形:triangle.#includevoid main() float a,b,c; scanf(%f%f%f,&a,&b,&c); if(a+bc|b+ca|c+a。輸入其他字符時(shí)原樣

20、輸出。 友情提示:整數(shù)之間運(yùn)算的結(jié)果要取整,例如5/2的結(jié)果是2,而5.0/2.0對(duì)小數(shù)四舍五入的結(jié)果就是3.0了。所以輸入大寫(xiě)英文字母時(shí)的輸出要仔細(xì)考慮。#include int main() char ch; int a; ch=getchar(); if(ch=97&ch=65&ch=48&ch=57) ch=ch/10+ch; putchar(ch); else putchar(ch); printf(n); 4.7 判斷某年某月的天數(shù)一年有365天,有的月份有31天,有的有30天,2月份閏年的時(shí)候是29天,非閏年的時(shí)候是28天?,F(xiàn)在要求從鍵盤上輸入一個(gè)年份和月份,輸出其對(duì)應(yīng)的天數(shù)。#

21、include main() int year,month,days; scanf(%d %d, &year,&month); switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31;break; case 4: case 6: case 9: case 11:days=30;break; case 2:if(year % 4 =0) & (year % 100 !=0) |(year % 400=0) days=29; else days=28; printf(%dn,days);4.8

22、花多少錢買衣服周末商場(chǎng)促銷呢,某品牌服裝既可以買套裝,也可以買單件。若買的不少于套,每套元;不足套的每套元,只買上衣每件元,只買褲子每條元。編寫(xiě)程序,輸入計(jì)劃購(gòu)買的上衣數(shù)量 a 和褲子的數(shù)量 b ,計(jì)算并輸出應(yīng)該付的款 m 。#includevoid main() int a,b,y; scanf(%d%d,&a,&b); if(b=a&b50) y=90*b+(a-b)*60; if(b=50) y=80*b+(a-b)*60; if(ab&a50) y=90*a+(b-a)*45; if(a=50) y=80*a+(b-a)*45; printf(%dn,y);4.9 到郵局去寄包裹你去郵

23、局給朋友寄禮物。發(fā)現(xiàn)郵局對(duì)郵寄包裹的費(fèi)用是這樣規(guī)定的:如果包裹長(zhǎng)寬高任意一個(gè)尺寸超過(guò)米,或重量超過(guò)千克,不予郵寄;對(duì)可以郵寄的包裹每件收手續(xù)費(fèi) 0.2 元,不同重量的郵資按下表計(jì)算: 重量(千克) 收費(fèi)標(biāo)準(zhǔn)(元) 小于 . 大于等于但不超過(guò) . 大于等于但不超過(guò) . 編寫(xiě)程序,輸入包裹的長(zhǎng)、寬、高尺寸和重量,輸出所需的郵資(輸出結(jié)果中包含兩位小數(shù)即可),超出尺寸或重量的輸出 Error” .#includevoid main() float a,b,c,m,y; scanf(%f,%f,%f,%f,&a,&b,&c,&m); if(a1|b1|c1|m30) printf(Errorn); e

24、lse if(m10) y=0.80*m+0.2; else if(m20) y=0.75*m+0.2; else y=0.70*m+0.2; printf(%.2fn,y); 4.10 輸出星期幾的英文表示輸入用數(shù)字(1-7)表示的星期幾,輸出星期幾的英文表示,輸入的數(shù)字有誤,輸出單詞Error(回車)。#includevoid main() int a; scanf(%d,&a); switch(int)(a) case 1:printf(Mondayn);break; case 2:printf(Tuesdayn);break; case 3:printf(Wednesdayn);bre

25、ak; case 4:printf(Thursdayn);break; case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; default:printf(Errorn); 5.1 輸出一行星號(hào)編寫(xiě)程序在一行中輸出 N 個(gè)星號(hào)。輸入: N值輸出: 一行中N個(gè)星號(hào) #include int main() int n,i; scanf(%d,&n); for(i=0;in;i+) putchar(*); putchar(n); return 0;5.2 打印平行四邊形

26、輸入圖形的高 n 和首字符 c ,輸出如下例( n=5 ,c=A )所示的圖形 . ABCDE BCDEF CDEFG DEFGH EFGHI 輸入:整數(shù)n例如 5 和某個(gè)字符例如 A 輸出:高為5和首字符A 的平行四邊形#include void main() int n,m,i,d; char p,t; scanf(%d,%c,&n,&p); for(m=0;mn;m+) for(i=0;im;i+) printf( ); for(d=0;dn;d+) t=p+d+m; printf(%c,t); for(i=0;i0)。輸出:打印相應(yīng)的空心倒三角形。圖樣參見(jiàn)測(cè)試用例。#include #

27、include int main() int h,i,j,k,m,n; scanf(%d,&h); if(h1)&(h%2!=0) for(i=1; i=(2*h-1); i+) printf(*); printf(n); for(j=1; j=(h-2); j+) for(k=1; k=j; k+) printf( ); printf(*); for(m=1; m=(2*h-3-2*j); m+) printf( ); printf(*); printf(n); for(n=1;n=(h-1);n+) printf( ); printf(*n); else printf(Invalid in

28、putn); return 0; 選做 5.4 打印實(shí)心正方形5.1題中你已經(jīng)打印了一行*號(hào),這次在屏幕上輸出一個(gè)由星號(hào)組成的 n 行 n 列的正方形。程序輸入 n 值,輸出如下例( n=4 )所示的高和上底均為 n 的正方形:*#include #include int main() int a=1,n,b; scanf(%d,&n); while(a=n) b=1; do printf(*); b+; while(b=n); printf(n); a+; return 0;選做 5.5 空心字符菱形輸入:菱型起始字母和菱形的高度。輸出:參看測(cè)試用例,打印空心的由字符組成的菱形。#inclu

29、de #include int main() char ch; int n,a=1,b,c; scanf(%c %d,&ch,&n); while(a=n) b=1; while(b=2) while(c=2*a-3) printf( ); c+; printf(%c,ch); ch=ch+1; printf(n); a+; a=1; ch=ch-2; while(a=n-1) b=1; while(b=a) printf( ); b+; printf(%c,ch); c=1; if(a=n-2) while(c=2*n-2*a-3) printf( ); c+; printf(%c,ch);

30、 ch=ch-1; printf(n); a+; return 0;選做 5.6 輸出一個(gè)字母K吧!輸入一個(gè)整數(shù)n,輸出圖形K。如n=4時(shí),輸出如下圖形。* * * * * * * * * * * * #include #include int main() int n,i=1,j; scanf(%d,&n); while(i=n-1) j=1; printf(*); while(j=n-i) printf( ); j+; printf(*n); i+; printf(*n); i=1; while(i=n-1) j=1; printf(*); while(j=i) printf( ); j+

31、; printf(*n); i+; return 0;選做 5.7 輸出X圖形輸入 n 值,輸出下例( n=3 )所示的圖形: * * * * * * * * * 輸入:整數(shù)n(例如3)輸出:如上圖所示X 形圖形#include #include int main() int n,i=1,j,k; scanf(%d,&n); while(i=n-1) j=1; while(j=i-1) printf( ); j+; printf(*); k=1; while(k=2*n-2*i-1) printf( ); k+; printf(*); j=1; while(j=i-1) printf( );

32、j+; printf(n); i+; i=1; while(i=n-1) printf( ); i+; printf(*); i=1; while(i=n-1) printf( ); i+; printf(n); i=1; while(i=n-1) j=1; while(j=n-i-1) printf( ); j+; printf(*); k=1; while(k=2*i-1) printf( ); k+; printf(*); j=1; while(j=n-i-1) printf( ); j+; printf(n); i+; return 0;選做 5.8 輸出圖形編程,輸入 n 值,輸出下

33、例( n=5 )所示的高為 n 的圖形 : #include #include int main() int n,i=1,j,k,l; scanf(%d,&n); while(i=n-1) j=1; while(j=i) printf(*); j+; k=1; while(k=2*n-2*i-1) printf( ); k+; l=1; while(l=i) printf(*); l+; printf(n); i+; i=1; while(i=2*n-1) printf(*); i+; printf(n); return 0;選做 5.9 畫(huà)個(gè)空心的梯形吧編程,輸入 n ,輸出如下例( n=5

34、 )所示的 高和上底均為 n 的等腰空心梯形。#include #include int main() int n,i=1,j,k; scanf(%d,&n); while(i=n) j=1; while(j=n-i) printf( ); j+; printf(*); if(i=1) for(k=1; k=n-2; k+) printf(*); else if(i=n) for(k=1; k=3*n-4; k+) printf(*); else for(k=1; k=n+2*i-4; k+) printf( ); printf(*); j=1; while(j=n-i) printf( );

35、 j+; printf(n); i+; return 0;選做 5.10 輸出菱形圖案輸入 n ,輸出如下例( n=3 )所示的菱形: * * * * * #include #include int main() int n,i,j,k; scanf(%d,&n); for(i=1; i=n; i+) for(j=1; j=n-i; j+) printf( ); for(k=1; k=2*i-1; k+) printf(*); printf(n); for(i=1; i=n-1; i+) for(j=1; j=i; j+) printf( ); for(k=1; k=2*n-2*i-1; k+

36、) printf(*); printf(n); return 0;5.11 最大公約數(shù)輸入兩個(gè)正整數(shù)m和n,求它們的最大公約數(shù)和最小公倍數(shù)比如,輸入m和n的值分別為14和21,則最大公約數(shù)為7,最小公倍數(shù)為42。#includevoid main() int m,n,i,j; scanf(%d%d,&m,&n); for(i=m;i=1;i-) if (n%i=0&m%i=0) printf(the greatest common divisor is %dn,i); break; for (j=m;j+) if (j%m=0&j%n=0) printf(the least common mu

37、ltiple is %dn,j); break; 5.12 水仙花數(shù)輸出所有的水仙花數(shù)。所謂的水仙花數(shù)是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是一水仙花數(shù),因?yàn)?53=13+53+33輸出語(yǔ)句:printf(%dn,n);#include void main()int n, i, j, k;for(n=100; n=999; n=n+1) i = n/100; / 取出n的百位數(shù) j = (n/10)%10; / 取數(shù)n的十位數(shù) k = n%10; / 取出n的個(gè)位數(shù) if(n=i*i*i+j*j*j+k*k*k) printf(%dn,n);5.13 完數(shù)一個(gè)數(shù)如果恰好等于它

38、的因子之和,這個(gè)數(shù)就稱為完數(shù)。例如,6的因子為1,2,3,且6=1+2+3,因此6是完數(shù),從鍵盤上輸入一個(gè)正整數(shù),判斷其是否為完數(shù)。如果是,則按照如下格式輸出。比如,輸入6,則輸出Yes,its factors are 1 2 3;如果輸入8,則輸出No#include#includeint main() int n,i,c,sum=0;scanf(%d,&n); for(i=1;in;i+) if(n%i=0)sum=sum+i; if(n=sum) printf(Yes,its factors are ); for(c=1; cn; c+) if(n%c=0) printf( %d,c);

39、 printf(n); elseprintf(Non); 5.14 素?cái)?shù)輸入兩個(gè)正整數(shù)m和n,求出m,n區(qū)間的所有素?cái)?shù)#include #include void main()int m,n,i,j,k; scanf(%d%d,&m,&n); for(i=m;in;i+) k=sqrt(i); for(j=2;jk) printf( %d,i); printf(n);5.15 找出最大素?cái)?shù)素?cái)?shù)是指一個(gè)只能被1和它本身整除的數(shù),在數(shù)論中占有重要的研究地位,在當(dāng)代密碼學(xué)中也被廣泛應(yīng)用。輸入:取值范圍輸出:該范圍內(nèi)的最大素?cái)?shù)#include int main() int a,i,j; scanf(%

40、d,&a); for(i=a;i1;i-) for(j=2;ji;j+) if(i%j=0) break; if(j=i)printf(%dn,i);break;5.16 回文數(shù)輸入一個(gè)數(shù),判斷是否為回文數(shù),如果是,輸出Yes,否則輸出No#include #include #include char *chan(int count) ;int main(int argc, char* argv) char *str; int i,n; str=chan(0); n=strlen(str); for (i = 0; i(n-1)/2; i+) if (stri!=strn-1-i) n=0; break; if (n) printf(Yesn); else printf(Non); free(str); system(pause); return 0;char *chan(int count) char a;

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!