




已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算法與程序設(shè)計(jì)PTA習(xí)題集第4周本題目要求計(jì)算下列分段函數(shù)f(x)的值:輸入格式:輸入在一行中給出實(shí)數(shù)x。輸出格式:在一行中按“f(x) = result”的格式輸出,其中x與result都保留一位小數(shù)。輸入樣例1:10輸出樣例1:f(10.0) = 0.1輸入樣例2:0輸出樣例2:f(0.0) = 0.0#includeint main()float x,result;scanf(%f,&x);if (x=0)result=0;elseresult=1.0/x;printf(f(%.1f) = %.1f,x,result);return 0;編寫(xiě)一個(gè)程序,要求用戶輸入24小時(shí)制的時(shí)間,然后顯示12小時(shí)制的時(shí)間。輸入格式:輸入在一行中給出帶有中間的:符號(hào)(半角的冒號(hào))的24小時(shí)制的時(shí)間,如12:34表示12點(diǎn)34分。當(dāng)小時(shí)或分鐘數(shù)小于10時(shí),均沒(méi)有前導(dǎo)的零,如5:6表示5點(diǎn)零6分。提示:在scanf的格式字符串中加入:,讓scanf來(lái)處理這個(gè)冒號(hào)。輸出格式:在一行中輸出這個(gè)時(shí)間對(duì)應(yīng)的12小時(shí)制的時(shí)間,數(shù)字部分格式與輸入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5點(diǎn)零6分。注意,在英文的習(xí)慣中,中午12點(diǎn)被認(rèn)為是下午,所以24小時(shí)制的12:00就是12小時(shí)制的12:0 PM;而0點(diǎn)被認(rèn)為是第二天的時(shí)間,所以是0:0 AM。輸入樣例:21:11輸出樣例:9:11 PM#includeint main()int a,b;scanf(%d:%d,&a,&b);if(a12)printf(%d:%d,a-12,b);if(a=12)printf(%d:%d,a,b);if(a12)printf(%d:%d AM,a,b);elseprintf( PM,a,b); return 0;給定平面上任意三個(gè)點(diǎn)的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3),檢驗(yàn)它們能否構(gòu)成三角形。輸入格式:輸入在一行中順序給出六個(gè)100,100范圍內(nèi)的數(shù)字,即三個(gè)點(diǎn)的坐標(biāo)x1、y1、x2、y2、x3、y3。 輸出格式:若這3個(gè)點(diǎn)不能構(gòu)成三角形,則在一行中輸出“Impossible”;若可以,則在一行中輸出該三角形的周長(zhǎng)和面積,格式為“L = 周長(zhǎng), A = 面積”,輸出到小數(shù)點(diǎn)后2位。輸入樣例1:4 5 6 9 7 8輸出樣例1:L = 10.13, A = 3.00輸入樣例2:4 6 8 12 12 18輸出樣例2:Impossible#includeint main()int a,b,c;scanf(%d %d %d,&a,&b,&c);if(a+bc)&(b+ca)&(a+cb)printf(YES); elseprintf(NO); return 0;輸入一個(gè)年份,判斷其是否為閏年,若是閏年輸出“yes”的信息,否則輸出“no”的信息。輸入格式:直接輸入一個(gè)4位數(shù)年份,沒(méi)有其它任何附加字符。輸出格式:直接輸出“yes”或“no”,沒(méi)有其它任何附加字符。輸入樣例:1900 輸出樣例:no輸入樣例:2000 輸出樣例:yes輸入樣例:1904 輸出樣例:yes#includeint main()int a;scanf(%d,&a);if(a%4=0&a%100!=0|a%400=0)printf(yesn);elseprintf(non);return 0;輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。輸入格式:在一行中直接輸入3個(gè)整數(shù),之間各用一個(gè)空格間隔。輸出格式:在一行中按照“x=最小值,y=次小值, z=最大值”的順序輸出結(jié)果,最大值、次大值和最小值均原樣輸出,沒(méi)有寬度控制。輸入樣例:2 1 3 輸出樣例:x=1,y=2,z=3#includeint main()int x,y,z,temp;scanf(%d %d %d,&x,&y,&z,&temp); if(xy)temp=x,x=y,y=temp; if(xz)temp=x,x=z,z=temp; if(yz)temp=y,y=z,z=temp;printf(x=%d,y=%d,z=%d,x,y,z); return 0;第5周本題要求編寫(xiě)程序?qū)⒁粋€(gè)百分制成績(jī)轉(zhuǎn)換為五分制成績(jī)。轉(zhuǎn)換規(guī)則: 大于等于90分為A; 小于90且大于等于80為B; 小于80且大于等于70為C; 小于70且大于等于60為D; 小于60為E。輸入格式:輸入在一行中給出一個(gè)整數(shù)的百分制成績(jī)。 輸出格式:在一行中輸出對(duì)應(yīng)的五分制成績(jī)。輸入樣例:90 輸出樣例:A#includeint main()int a,ch;scanf(%d,&a);if(a90|a=90)ch=A;else if(a80|a=80)ch=B;else if(a70|a=70)ch=C;else if(a60|a=60)ch=D;elsech=E;printf(%c,ch);return 0;中國(guó)有句俗語(yǔ)叫“三天打魚(yú)兩天曬網(wǎng)”。假設(shè)某人從某天起,開(kāi)始“三天打魚(yú)兩天曬網(wǎng)”,問(wèn)這個(gè)人在以后的第N天中是“打魚(yú)”還是“曬網(wǎng)”?輸入格式:輸入在一行中給出一個(gè)不超過(guò)1000的正整數(shù)N。輸出格式:在一行中輸出此人在第N天中是“Fishing”(即“打魚(yú)”)還是“Drying”(即“曬網(wǎng)”),并且輸出“in day N”。輸入樣例1:103輸出樣例1:Fishing in day 103輸入樣例2:34輸出樣例2:Drying in day 34#includeint main()int N;scanf(%d,&N);if(N%5=4|N%5=0)printf(Drying in day %d,N);elseprintf(Fishing in day %d,N);return 0;本題要求編寫(xiě)一個(gè)簡(jiǎn)單計(jì)算器程序,可根據(jù)輸入的運(yùn)算符,對(duì)2個(gè)整數(shù)進(jìn)行加、減、乘、除或求余運(yùn)算。題目保證輸入和輸出均不超過(guò)整型范圍。輸入格式:輸入在一行中依次輸入操作數(shù)1、運(yùn)算符、操作數(shù)2,其間以1個(gè)空格分隔。操作數(shù)的數(shù)據(jù)類(lèi)型為整型,且保證除法和求余的分母非零。輸出格式:當(dāng)運(yùn)算符為+、-、*、/、%時(shí),在一行輸出相應(yīng)的運(yùn)算結(jié)果。若輸入是非法符號(hào)(即除了加、減、乘、除和求余五種運(yùn)算符以外的其他符號(hào))則輸出ERROR。輸入樣例1:-7 / 2 輸出樣例1:-3輸入樣例2:3 & 6 輸出樣例2:ERROR#include int main() int x,y; char ch; scanf(%d %c %d, &x, &ch, &y); switch(ch) case +: printf(%dn,x+y); break; case -: printf(%dn, x-y); break; case *: printf(%dn, x*y); break; case /: printf(%dn, x/y); break; case %: printf(%dn, x%y); break; default: printf(ERRORn); break; return 0; 股票價(jià)格漲跌趨勢(shì),常用蠟燭圖技術(shù)中的K線圖來(lái)表示,分為按日的日K線、按周的周K線、按月的月K線等。以日K線為例,每天股票價(jià)格從開(kāi)盤(pán)到收盤(pán)走完一天,對(duì)應(yīng)一根蠟燭小圖,要表示四個(gè)價(jià)格:開(kāi)盤(pán)價(jià)格Open(早上剛剛開(kāi)始開(kāi)盤(pán)買(mǎi)賣(mài)成交的第1筆價(jià)格)、收盤(pán)價(jià)格Close(下午收盤(pán)時(shí)最后一筆成交的價(jià)格)、中間的最高價(jià)High和最低價(jià)Low。如果CloseOpen,表示為“R-Hollow”(即“空心紅蠟燭”);如果Open等于Close,則為“R-Cross”(即“十字紅蠟燭”)。如果Low比Open和Close低,稱(chēng)為“Lower Shadow”(即“有下影線”),如果High比Open和Close高,稱(chēng)為“Upper Shadow”(即“有上影線”)。請(qǐng)編程序,根據(jù)給定的四個(gè)價(jià)格組合,判斷當(dāng)日的蠟燭是一根什么樣的蠟燭。輸入格式:輸入在一行中給出4個(gè)正實(shí)數(shù),分別對(duì)應(yīng)Open、High、Low、Close,其間以空格分隔。輸出格式:在一行中輸出日K蠟燭的類(lèi)型。如果有上、下影線,則在類(lèi)型后加上with 影線類(lèi)型。如果兩種影線都有,則輸出with Lower Shadow and Upper Shadow。輸入樣例1:5.110 5.250 5.100 5.105輸出樣例1:BW-Solid with Lower Shadow and Upper Shadow輸入樣例2:5.110 5.110 5.110 5.110輸出樣例2:R-Cross輸入樣例3:5.110 5.125 5.112 5.126輸出樣例3:R-Hollow#include #include int main() double open, high, low, close;scanf(%lf%lf%lf%lf, &open, &high, &low, &close);if(close open)printf(R-Hollow);else if(fabs(close - open) = 0)printf(R-Cross);if(low open & low open & high close)printf( with Lower Shadow and Upper Shadown);else if(low open & low open & high close)printf( with Upper Shadown);return 0;本題要求編寫(xiě)程序計(jì)算某年某月某日是該年中的第幾天。輸入格式:輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。 輸出格式:在一行輸出日期是該年中的第幾天。輸入樣例1:2009/03/02輸出樣例1:61輸入樣例2:2000/03/02輸出樣例2:62#include int main() int day,month,year; scanf(%d/%d/%d,&year,&month,&day); int i; int sum; sum=day; for(i=1;imonth;i+) switch(i) case 1:sum+=31;break; case 3:sum+=31;break; case 5:sum+=31;break; case 7:sum+=31;break; case 8:sum+=31;break; case 10:sum+=31;break; case 12:sum+=31;break; case 4:sum+=30;break; case 6:sum+=30;break; case 9:sum+=30;break; case 11:sum+=30;break; case 2: if(year%4=0&year%100!=0)|(year%400=0) sum+=29; else sum+=28; printf(%dn,sum); return 0; 第6周三個(gè)球A、B、C,大小形狀相同且其中有一個(gè)球與其他球重量不同。找出這個(gè)不一樣的球。輸入格式:輸入在一行中給出3個(gè)正整數(shù),順序?qū)?yīng)球A、B、C的重量。輸出格式:在一行中輸出唯一的那個(gè)不一樣的球。輸入樣例:1 1 2 輸出樣例:C#includeint main() int a,b,c; char ch; scanf(%d %d %d,&a,&b,&c); if(a=b) ch=C; else if(a=c)ch=B; else ch=A; printf(%cn,ch); return 0;某公司員工的工資計(jì)算方法如下:一周內(nèi)工作時(shí)間不超過(guò)40小時(shí),按正常工作時(shí)間計(jì)酬;超出40小時(shí)的工作時(shí)間部分,按正常工作時(shí)間報(bào)酬的1.5倍計(jì)酬。員工按進(jìn)公司時(shí)間分為新職工和老職工,進(jìn)公司不少于5年的員工為老職工,5年以下的為新職工。新職工的正常工資為30元/小時(shí),老職工的正常工資為50元/小時(shí)。請(qǐng)按該計(jì)酬方式計(jì)算員工的工資。輸入格式:輸入在一行中給出2個(gè)正整數(shù),分別為某員工入職年數(shù)和周工作時(shí)間,其間以空格分隔。輸出格式:在一行輸出該員工的周薪,精確到小數(shù)點(diǎn)后2位。輸入樣例1:5 40 輸出樣例1:2000.00輸入樣例2:3 50 輸出樣例2:1650.00#include int main() int time,year; double money; scanf(%d%d,&year,&time); if(year=5) if(time=40) money=time*50; elsemoney=2000+(time-40)*50*1.5; else if(time=40) money=time*30; elsemoney=1200+(time-40)*30*1.5; printf(%.2lfn,money); return 0; 輸入三個(gè)實(shí)數(shù),代表三條線段的長(zhǎng)度。判斷這三條線段組成的三角形是什么類(lèi)型:等邊(equilateral triangle)、等腰(isosceles triangle)、不等邊(common triangle)或不能構(gòu)成三角形(not a triangle)。輸入格式:輸入三條線段的長(zhǎng)度,輸入保證所有數(shù)據(jù)均大于0。輸出格式:輸出三角形的類(lèi)型:等邊(equilateral triangle)、等腰(isosceles triangle)、不等邊(common triangle)或不能構(gòu)成三角形(not a triangle)。輸入樣例:3 3 3 # 輸出樣例:equilateral triangle#include int main() float a,b,c; scanf(%f %f %f,&a,&b,&c); if (a + b = c | a + c = b | b + c = a)printf(not a trianglen); else if (a = b & b = c) printf(equilateral trianglen); else if (a = b | b = c | a = c) printf(isosceles trianglen); else printf(common trianglen); return 0;有一分段函數(shù)如下:根據(jù)輸入的x值,計(jì)算對(duì)應(yīng)的y值。輸入格式:輸入x。 輸出格式:輸出y的值,保留兩位小數(shù)。#include#includeint main()double x,y; scanf(%lf,&x); if(x=-1&x1&x10) y=5*x+3*log10(2*x*x-1)-13; printf(%.2f,y); return 0;第7周本題要求編寫(xiě)程序,輸入10個(gè)字符,統(tǒng)計(jì)其中英文字母、空格或回車(chē)、數(shù)字字符和其他字符的個(gè)數(shù)。輸入格式:輸入為10個(gè)字符。最后一個(gè)回車(chē)表示輸入結(jié)束,不算在內(nèi)。輸出格式:在一行內(nèi)按照l(shuí)etter = 英文字母?jìng)€(gè)數(shù), blank = 空格或回車(chē)個(gè)數(shù), digit = 數(shù)字字符個(gè)數(shù), other = 其他字符個(gè)數(shù)的格式輸出。輸入樣例:aZ &09 Az 輸出樣例:letter = 4, blank = 3, digit = 2, other = 1#includeint main()int l=0,b=0,d=0,o=0,i=1;char ch;scanf(%c,&ch);while(i=a&ch=A&ch=0&ch=9)d+;else if(ch= |ch=n)b+;elseo+;scanf(%c,&ch);i+;printf(letter = %d, blank = %d, digit = %d, other = %d,l,b,d,o);return 0;本題要求編寫(xiě)程序,找出給定一系列整數(shù)中的最小值。輸入格式:輸入在一行中首先給出一個(gè)正整數(shù)nnn,之后是nnn個(gè)整數(shù),其間以空格分隔。輸出格式:在一行中按照“min = 最小值”的格式輸出nnn個(gè)整數(shù)中的最小值。輸入樣例:4 -2 -123 100 0輸出樣例:min = -123#includeint main()int n,x,y,i=1,min;scanf(%d%d,&n,&x);min=x;while(iy)min=y;elsemin=min;i+;printf(min = %dn,min);return 0;本題要求計(jì)算給定的一系列正整數(shù)中奇數(shù)的和。輸入格式:輸入在一行中給出一系列正整數(shù),其間以空格分隔。當(dāng)讀到零或負(fù)整數(shù)時(shí),表示輸入結(jié)束,該數(shù)字不要處理。輸出格式:在一行中輸出正整數(shù)序列中奇數(shù)的和。輸入樣例:8 7 4 3 70 5 6 101 -1輸出樣例:116#include int main()int n,sum=0;scanf(%d,&n);while(n0)if(n%2=0)sum=sum;elsesum=sum+n;scanf(%d,&n);printf(%dn,sum);return 0;輸入若干學(xué)生成績(jī),以負(fù)數(shù)結(jié)束輸入。計(jì)算所有學(xué)生的平均成績(jī)并統(tǒng)計(jì)成績(jī)?cè)?0到90分(不含90)之間的人數(shù)。輸入格式:在一行輸入幾個(gè)百分制實(shí)型成績(jī),數(shù)據(jù)之間以一個(gè)空格間隔。輸入負(fù)數(shù)結(jié)束輸入。輸出格式:在一行中按照“ave=平均分,n=人數(shù)”的順序輸出結(jié)果,其中平均分要求保留兩位小數(shù),人數(shù)是正整數(shù)。輸入樣例:58 89 84 55 -1 輸出樣例:ave=71.50,n=2#includeint main() int x,n=0,sum=0,i=0; scanf(%d,&x); while(x=0) i+; if(x=80&x90) n=n+1; sum=sum+x; scanf(%d,&x); printf(ave=%.2f,n=%dn,sum*1.0/i,n); return 0;對(duì)于給定的正整數(shù)N,求它的位數(shù)及其各位數(shù)字之和。輸入格式:輸入在一行中給出一個(gè)不超過(guò)109109109的正整數(shù)N。輸出格式:在一行中輸出N的位數(shù)及其各位數(shù)字之和,中間用一個(gè)空格隔開(kāi)。輸入樣例:321 輸出樣例:3 6#includeint main()int n,x,i=0,sum=0;scanf(%d,&n);while(n!=0)sum=sum+n%10;n=n/10;i+;printf(%d %dn,i,sum);return 0;第8周以下程序統(tǒng)計(jì)輸入的一行字符中字母、數(shù)字、空格、其它字符的個(gè)數(shù)(行末以換行符結(jié)束,最后的換行符不統(tǒng)計(jì)在內(nèi))。例如,輸入的一行字符為aB 3*則字母有2個(gè),數(shù)字有1個(gè),空格有1個(gè),其它字符有1個(gè)。#include int main() int letters, digits, spaces, others; letters=0,digits=0,spaces=0,others=0; char ch;while(ch=getchar()!=n) if(ch=a&ch=A&ch=0&ch=9) digits+; else if(ch= |ch=n) spaces+; else others+; printf(字母、數(shù)字、空格、其它字符分別有:%d %d %d %d 個(gè)n,letters,digits,spaces,others);自然常數(shù)e可以用級(jí)數(shù)1+1/1!+1/2!+1/n!來(lái)近似計(jì)算。本題要求對(duì)給定的非負(fù)整數(shù)n,求該級(jí)數(shù)的前n項(xiàng)和。輸入格式:輸入第一行中給出非負(fù)整數(shù)n(1000)。輸出格式:在一行中輸出部分和的值,保留小數(shù)點(diǎn)后八位。輸入樣例:10輸出樣例:2.71828180#includeint main()int n,i=1;double sum=1,a=1;scanf(%d,&n);while(i=n)a=a*i;sum=sum+1/a;i+;printf(%.8f,sum);return 0;一只猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè);第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半加一個(gè)。到第N天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。問(wèn):第一天共摘了多少個(gè)桃子?輸入格式:輸入在一行中給出正整數(shù)N(1N10)。輸出格式:在一行中輸出第一天共摘了多少個(gè)桃子。輸入樣例:3 輸出樣例:10#include int main() int N,i; scanf(%d,&N); int sum=1; for(i=0;iN-1;i+) sum=(sum+1)*2; printf(%dn,sum); return 0; 給定兩個(gè)整數(shù)A和B,輸出從A到B的所有整數(shù)以及這些數(shù)的和。輸入格式:輸入在一行中給出2個(gè)整數(shù)A和B,其中100AB100,其間以空格分隔。輸出格式:首先順序輸出從A到B的所有整數(shù),每5個(gè)數(shù)字占一行,每個(gè)數(shù)字占5個(gè)字符寬度,向右對(duì)齊。最后在一行中按Sum = X的格式輸出全部數(shù)字的和X。輸入樣例:-3 8輸出樣例: -3 -2 -1 0 1 2 3 4 5 6 7 8Sum = 30#include int main() int a,b,i,sum=0,n=0; scanf(%d%d,&a,&b); for(i=a;i=3 & n=7),它的每個(gè)位上的數(shù)字n次冪之和等于本身。例如,3位數(shù)153是水仙花,各位數(shù)字的立方和13+53+33=153。 要求:輸出所有位數(shù)為3的水仙花數(shù)。輸入格式:無(wú) 輸出格式:位數(shù)為3的所有水仙花數(shù),每行一個(gè)。輸入樣例:無(wú)輸出樣例:153#include int main() int i,a,b,c; for(i=100;i1000;i+) a=i/100; b=(i/10)%10; c=i%10; if(a*a*a+b*b*b+c*c*c)=i) printf(%dn,i); return 0; 對(duì)于給定的正整數(shù)N,需要你計(jì)算S=1!+2!+3!+.+N!。輸入格式:輸入在一行中給出一個(gè)不超過(guò)10的正整數(shù)N。輸出格式:在一行中輸出S的值。輸入樣例:3 輸出樣例:9#includeint main()int n,i=1,a=1,sum=0;scanf(%d,&n);while(i=n)a=a*i;sum=sum+a;i+;printf(%d,sum);return 0;第9周本題要求兩個(gè)給定正整數(shù)的最大公約數(shù)和最小公倍數(shù)。輸入格式:輸入在一行中給出兩個(gè)正整數(shù)M和N(1000)。輸出格式:在一行中順序輸出M和N的最大公約數(shù)和最小公倍數(shù),兩數(shù)字間以1空格分隔。輸入樣例:511 292 輸出樣例:73 2044#includeint main()int m,n,i,j;scanf(%d %d,&m,&n);for(i=m;i=1;i-)if(m%i=0&n%i=0)break;for(j=m;j=m*n;j+)if(j%m=0&j%n=0)break;printf(%d %d,i,j);一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子。小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子。假如兔子都不死,請(qǐng)問(wèn)第1個(gè)月出生的一對(duì)兔子,至少需要繁衍到第幾個(gè)月時(shí)兔子總數(shù)才可以達(dá)到N對(duì)?輸入格式:輸入在一行中給出一個(gè)不超過(guò)10000的正整數(shù)N。輸出格式:在一行中輸出兔子總數(shù)達(dá)到N最少需要的月數(shù)。輸入樣例:30 輸出樣例:9#includeint main()int N,i,a,b,c;scanf(%d,&N);a=1,b=0,i=1;if(N=a)printf(%dn,a);else+i;c=a+b;while(cN)+i;b=a;a=c;c=a+b;printf(%dn,i); 所謂完數(shù)就是該數(shù)恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫(xiě)程序,找出任意兩正整數(shù)m和n之間的所有完數(shù)。輸入格式:輸入在一行中給出2個(gè)正整數(shù)m和n(0mn10000),中間以空格分隔。輸出格式:逐行輸出給定范圍內(nèi)每個(gè)完數(shù)的因子累加形式的分解式,每個(gè)完數(shù)占一行,格式為“完數(shù) = 因子1 + 因子2 + . + 因子k”,其中完數(shù)和因子均按遞增順序給出。若區(qū)間內(nèi)沒(méi)有完數(shù),則輸出“None”。輸入樣例:1 30輸出樣例:1 = 16 = 1 + 2 + 328 = 1 + 2 + 4 + 7 + 14#includeint main()int m,n,i,j,sum;scanf(%d%d,&m,&n);for(i=m;i=n;i+)/判斷i是否為完數(shù)sum=1;for(j=2;j=i/2;j+) if(i%j=0) sum=sum+j; if(sum=i)printf(%d = 1,i);for(j=2;j=i/2;j+)if(i%j=0)printf( + %d,j);printf(n);return 0;下面是一個(gè)完整的下三角九九口訣表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81本題要求對(duì)任意給定的一位正整數(shù)N,輸出從1*1到N*N的部分口訣表。輸入格式:輸入在一行中給出一個(gè)正整數(shù)N(lN9)。輸出格式:輸出下三角N*N部分口訣表,其中等號(hào)右邊數(shù)字占4位、左對(duì)齊。輸入樣例:4輸出樣例:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16#include int main() int i,j,n;scanf(%d,&n);for(i=1;i=n;+i) for(j=1;j=i;+j) printf(%d*%d=%-4d,j,i,i*j);printf(n);return 0;輸出斐波那契(Fibonacci)數(shù)列(1,1,2,3,5,8,13)的前20項(xiàng)輸出格式:每個(gè)數(shù)輸出占8列。輸出樣例:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597#includeint main()int i,f1,f2,f3;f1=1;f2=1;printf(%8d%8d,f1,f2);for(i=3;i=20;i+)f3=f1+f2;f1=f2;f2=f3;printf(%8d,f3);if(i%20=0)putchar(n);return 0;第10周本題要求對(duì)兩個(gè)整數(shù)a和b,輸出其中較大的數(shù)。函數(shù)接口定義:int max( int a, int b );其中a和b是用戶傳入的參數(shù),函數(shù)返回的是兩者中較大的數(shù)。輸入樣例:-5 8 輸出樣例:max = 8#includeint max(int x, int y) int z; if (xy) z=x; else z=y; return(z);int main() int a,b,c;c=max(a,b); scanf(%d %d, &a, &b); printf(max = %dn, max(a, b); return 0;本題要求實(shí)現(xiàn)一個(gè)計(jì)算兩個(gè)數(shù)的最大公約數(shù)的簡(jiǎn)單函數(shù)。函數(shù)接口定義:int gcd( int x, int y );其中x和y是兩個(gè)正整數(shù),函數(shù)gcd應(yīng)返回這兩個(gè)數(shù)的最大公約數(shù)。輸入樣例:32 72 輸出樣例:8#includeint gcd(int x,int y)int i;for(i=y;i=1;i-)if(x%i=0&y%i=0)return i; int main()int a,b;scanf(%d%d,&a,&b);printf(%d,gcd(a,b); return 0;本題要求實(shí)現(xiàn)一個(gè)計(jì)算非負(fù)整數(shù)階乘的簡(jiǎn)單函數(shù),使得可以利用該函數(shù),計(jì)算1!+2!+10!的值。函數(shù)接口定義:double fact( int n );其中n是用戶傳入的參數(shù),其值不超過(guò)10。如果n是非負(fù)整數(shù),則該函數(shù)必須返回n的階乘。輸入樣例:本題沒(méi)有輸入。輸出樣例:1!+2!+.+10! = 4037913.000000#includedouble fact( int n )int i,a,sum;while(i=n)a=a*i; sum=sum+a;i+;return i;int main() int i; double sum; sum = 0; for(i = 1; i = 10; i+) sum = sum + fact(i); printf(1!+2!+.+10! = %fn, sum); return 0;fun函數(shù)的功能是:找出大于m的最小素?cái)?shù),并將其作為函數(shù)值返回。函數(shù)接口定義:int fun( int m);函數(shù)fun中m是用戶傳入的參數(shù),函數(shù)fun的功能是找出大于m的最小素?cái)?shù),并將其作為函數(shù)值返回。輸入樣例:10輸出樣例:11#include int fun( int m)int i,j,fun;for(i=m+1;im;i+)for(j=2;ji;j+)if(i%j!=0)fun=i;return fun;int main() int n; scanf(%d,&n); printf(%dn,fun(n); return 0;編寫(xiě)函數(shù),判斷指定的字符是否是數(shù)字字符,如果是函數(shù)返回1,
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色食品種植技術(shù)推廣合作
- 一次難忘的旅行記作文6篇范文
- 生活垃圾分類(lèi)網(wǎng)點(diǎn)的收集、運(yùn)輸與處理流程設(shè)計(jì)
- 新時(shí)代高校思政課育人功能的創(chuàng)新與實(shí)踐
- 我眼中的環(huán)保英雄形象寫(xiě)人作文12篇
- 教育數(shù)字化背景下思政課教材建設(shè)的多維分析
- 科技行業(yè)產(chǎn)品種類(lèi)統(tǒng)計(jì)表格
- 心靈的成長(zhǎng)歷程寫(xiě)人作文8篇范文
- 從水經(jīng)注中看水文地理詞匯學(xué)習(xí)
- 超大城市養(yǎng)老服務(wù)高質(zhì)量發(fā)展的需求視角研究
- 康復(fù)治療生理學(xué)呼吸系統(tǒng)
- 公司招標(biāo)書(shū)范本大全(三篇)
- 2024年外墻打膠協(xié)議書(shū)模板
- 預(yù)應(yīng)力混凝土方樁施工方案
- 2024年新人教版五年級(jí)數(shù)學(xué)下冊(cè)《教材練習(xí)27練習(xí)二十七附答案》教學(xué)課件
- 《剪映專(zhuān)業(yè)版:短視頻創(chuàng)作案例教程(全彩慕課版)》 課件 第6章 創(chuàng)作生活Vlog
- 人工智能與信息社會(huì)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 臨建集裝箱項(xiàng)目施工部署方案
- 11ZJ311地下室防水圖集
- 土地整治實(shí)施操作手冊(cè)
- 深圳市引導(dǎo)基金管理辦法
評(píng)論
0/150
提交評(píng)論