




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗一1、計算整數(shù)各位數(shù)字之和 (2.1) (10 分)輸入一個3位正整數(shù),將其每一位的數(shù)字相加,輸出和。輸入格式:輸入一個3位正整數(shù)。 變量數(shù)據(jù)類型為unsigned。輸出格式:輸出整數(shù)每一位相加后的整數(shù)和。輸入樣例:123輸出樣例:6【參考答案】#include stdio.hint main() unsigned int a,ge,shi,bai,sum; scanf(%d,&a); ge=a%10; shi=a/10%10; bai=a/100; sum=ge+shi+bai; printf(%dn,sum); return 0;2、計算代數(shù)表達式 (2.2) (10 分)求: 輸入格
2、式:輸入角度x。變量數(shù)據(jù)類型為double。為3.14159。輸出格式:輸出y的值,精確到小數(shù)點后2位。輸入樣例:12.3輸出樣例:1.69【參考答案】#include #include #define PI 3.14159int main()double x,y;scanf(%lf,&x);y=sqrt(sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180); printf(%.2lf,y); return 0;3、逆序的三位數(shù) (10 分)程序每次讀入一個正3位數(shù),然后輸出按位逆序的數(shù)字。注意:當(dāng)輸入的數(shù)字含有結(jié)尾的0時,輸出不應(yīng)帶有前導(dǎo)的0。
3、比如輸入700,輸出應(yīng)該是7。輸入格式:每個測試是一個3位的正整數(shù)。輸出格式:輸出按位逆序的數(shù)。輸入樣例:123輸出樣例:321【參考答案】#include stdio.hint main() int a,ge,shi,bai,b; scanf(%d,&a); ge=a%10; shi=a/10%10; bai=a/100; b=ge*100+10*shi+bai; printf(%dn,b); return 0;4、求整數(shù)均值 (10 分)本題要求編寫程序,計算4個整數(shù)的和與平均值。題目保證輸入與輸出均在整型范圍內(nèi)。輸入格式:輸入在一行中給出4個整數(shù),其間以空格分隔。 輸出格式:在一行中按照
4、格式“Sum = 和; Average = 平均值”順序輸出和與平均值,其中平均值精確到小數(shù)點后一位。 輸入樣例:1 2 3 4輸出樣例:Sum = 10; Average = 2.5【參考答案】#include stdio.hint main()int a,b,c,d,sum; float ave; scanf(%d %d %d %d,&a,&b,&c,&d); sum=a+b+c+d; ave=sum/4.0; printf(Sum = %d; Average = %.1fn,sum,ave); return 0;5、是不是太胖了 (10 分)據(jù)說一個人的標(biāo)準(zhǔn)體重應(yīng)該是其身高(單位:厘米)
5、減去100、再乘以0.9所得到的公斤數(shù)。已知市斤是公斤的兩倍?,F(xiàn)給定某人身高,請你計算其標(biāo)準(zhǔn)體重應(yīng)該是多少?(順便也悄悄給自己算一下吧)輸入格式:輸入第一行給出一個正整數(shù)H(100 H 300),為某人身高。輸出格式:在一行中輸出對應(yīng)的標(biāo)準(zhǔn)體重,單位為市斤,保留小數(shù)點后1位。輸入樣例:169輸出樣例:124.2【參考答案】#include int main() int h;float w; scanf(%d,&h); w=(h-100)*0.9*2; printf(%.1fn, w); return 0;6、日期格式化 (10 分)世界上不同國家有不同的寫日期的習(xí)慣。比如美國人習(xí)慣寫成“月-日
6、-年”,而中國人習(xí)慣寫成“年-月-日”。下面請你寫個程序,自動把讀入的美國格式的日期改寫成中國習(xí)慣的日期。輸入格式:輸入在一行中按照“mm-dd-yyyy”的格式給出月、日、年。題目保證給出的日期是1900年元旦至今合法的日期。輸出格式:在一行中按照“yyyy-mm-dd”的格式給出年、月、日。輸入樣例:03-15-2017輸出樣例:2017-03-15【參考答案】#include int main() int year,month,day; scanf(%d-%d-%d,&month,&day,&year); printf(%d-%02d-%02dn,year,month,day); ret
7、urn 0; 7、整數(shù)四則運算 (10 分)本題要求編寫程序,計算2個正整數(shù)的和、差、積、商并輸出。題目保證輸入和輸出全部在整型范圍內(nèi)。輸入格式:輸入在一行中給出2個正整數(shù)A和B。 輸出格式:在4行中按照格式“A 運算符 B = 結(jié)果”順序輸出和、差、積、商。 輸入樣例:3 2輸出樣例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1【參考答案】#include stdio.hint main() int a,b; scanf(%d %d,&a,&b); printf(%d + %d = %dn,a,b,a+b); printf(%d - %d = %dn,a,b,a-
8、b); printf(%d * %d = %dn,a,b,a*b); printf(%d / %d = %dn,a,b,a/b); return 0;8、計算存款利息 (10 分)本題目要求計算存款利息,計算公式為interest=money(1+rate)yearmoney,其中interest為存款到期時的利息(稅前),money是存款金額,year是存期,rate是年利率。輸入格式:輸入在一行中順序給出三個正實數(shù)money、year和rate,以空格分隔。輸出格式:在一行中按“interest = 利息”的格式輸出,其中利息保留兩位小數(shù)。輸入樣例:1000 3 0.025輸出樣例:int
9、erest = 76.89【參考答案】#include #include int main() float money,rate,year,interest; scanf(%f %f %f,&money,&year,&rate); interest=money*pow(1+rate),year)-money; printf(interest = %.2fn, interest); return 0;實驗二1、比較大小 (15 分)本題要求將輸入的任意3個整數(shù)從小到大輸出。輸入格式:輸入在一行中給出3個整數(shù),其間以空格分隔。輸出格式:在一行中將3個整數(shù)從小到大輸出,其間以“-”相連。 輸入樣例:
10、4 2 8輸出樣例:2-4-8【參考答案】#include int main() int a,b,c,t; scanf(%d %d %d,&a,&b,&c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%d-%d-%dn,a,b,c); return 0; 2、計算運費 (3.4) (15 分)運輸公司對用戶計算運費。路程(s)越遠,每千米運費就越低。標(biāo)準(zhǔn)如下: s250km ,沒有折扣; 250kms500km, 2%的折扣; 500kms1000km, 5%的折扣; 1000kms2000km,8的
11、折扣; 2000kms3000km,10的折扣; 3000kms,15的折扣。設(shè)每千米每噸貨物的基本運費為p,貨物重為 w,距離為s,折扣為d,則總運費f的計算公式為: fpws(d)輸入格式:在一行中以小數(shù)形式輸入基本運費、貨重和距離,以空格作為分隔符。輸出格式:在一行輸出計算出來的運費,精確到小數(shù)點后位的值。輸入樣例:在這里給出一組輸入。例如:100 20 300輸出樣例:在這里給出相應(yīng)的輸出。例如:freight=588000.00【參考答案】#include int main() int c,s; float p,w,d,f; scanf (%f %f %d,&p,&w,&s); if
12、 (s=3000) c=12; else c=s/250; switch(c) case 0: d=0;break; case 1: d=2;break; case 2: case 3: d=5;break; case 4: case 5: case 6: case 7: d=8;break; case 8: case 9: case 10: case 11: d=10;break; case 12: d=15;break; f=p*w*s*(1-d/100.0); printf(freight=%.2fn,f); return 0; 3、三天打魚兩天曬網(wǎng) (15 分)中國有句俗語叫“三天打魚
13、兩天曬網(wǎng)”。假設(shè)某人從某天起,開始“三天打魚兩天曬網(wǎng)”,問這個人在以后的第N天中是“打魚”還是“曬網(wǎng)”?輸入格式:輸入在一行中給出一個不超過1000的正整數(shù)N。輸出格式:在一行中輸出此人在第N天中是“Fishing”(即“打魚”)還是“Drying”(即“曬網(wǎng)”),并且輸出“in day N”。輸入樣例1:103輸出樣例1:Fishing in day 103輸入樣例2:34輸出樣例2:Drying in day 34【參考答案】#include stdio.hint main() int N,x; scanf(%d,&N); x=N%5; if(x=1&x=3)printf(Fishing
14、in day %dn,N); else printf(Drying in day %dn,N); return 0;4、計算分段函數(shù)2 (15 分)本題目要求計算下列分段函數(shù)f(x)的值:注:可在頭文件中包含math.h,并調(diào)用sqrt函數(shù)求平方根,調(diào)用pow函數(shù)求冪。 輸入格式:輸入在一行中給出實數(shù)x。輸出格式:在一行中按“f(x) = result”的格式輸出,其中x與result都保留兩位小數(shù)。輸入樣例1:10輸出樣例1:f(10.00) = 3.16輸入樣例2:-0.5輸出樣例2:f(-0.50) = -2.75【參考答案】#include #include math.hint mai
15、n()float x,y; scanf(%f,&x);if(x=0) y=sqrt(x); else y=(x+1)*(x+1)+2*x+1/x; printf(f(%.2f) = %.2fn, x,y); return 0;5、判斷輸入的字符是哪種類型 (3.3) (15 分)通過鍵盤輸入一個字符,編程判斷并輸出用戶輸入的是什么類型的字符。輸入格式:輸入一個字符。輸出格式:在一行中輸出該字符是哪種類型的字符。 若用戶輸入字符為0和9之間,輸出This is a digit. 若用戶輸入字符在A和Z之間,輸出This is a capital letter. 若用戶輸入字符在a和z之間,輸出T
16、his is a small letter. 其他情況,輸出Other character.輸入樣例:6輸出樣例:This is a digit.【參考答案】#include int main() char c; c=getchar(); if(c=0&c=A&c=a&c=z)printf(This is a small letter.); else printf(Other character.); return 0; 6、求一元二次方程的根 (15 分)本題目要求一元二次方程的根,結(jié)果保留2位小數(shù)。輸入格式:輸入在一行中給出3個浮點系數(shù)a、b、c,中間用空格分開。輸出格式:根據(jù)系數(shù)情況,輸
17、出不同結(jié)果:1)如果方程有兩個不相等的實數(shù)根,則每行輸出一個根,先大后??;2)如果方程有兩個不相等復(fù)數(shù)根,則每行按照格式“實部+虛部i”輸出一個根,先輸出虛部為正的,后輸出虛部為負(fù)的;3)如果方程只有一個根,則直接輸出此根;4)如果系數(shù)都為0,則輸出Zero Equation;5)如果a和b為0,c不為0,則輸出Not An Equation。輸入樣例1:2.1 8.9 3.5輸出樣例1:-0.44-3.80輸入樣例2:1 2 3輸出樣例2:-1.00+1.41i-1.00-1.41i輸入樣例3:0 2 4輸出樣例3:-2.00輸入樣例4:0 0 0輸出樣例4:Zero Equation輸入樣
18、例5:0 0 1輸出樣例5:Not An Equation【參考答案】#include #include int main() float a,b,c; float x1,x2,p,y; scanf(%f %f %f,&a,&b,&c); if(a=0&b=0&c=0) printf(Zero Equation);return 0; if(a=0&b=0&c!=0) printf(Not An Equation); return 0; p=b*b-4*a*c; if(a=0) x1=-c/b; printf(%.2fn,x1);return 0; if(p=0&a!=0) if(p0) x1=
19、(-b+sqrt(p)/(2*a); x2=(-b-sqrt(p)/(2*a); printf(%.2fn%.2fn,x1,x2); else x1=-b/(2*a); printf(%.2fn,x1); else if(b!=0) p=sqrt(-p);x1=-b/(2*a);y=p/(2*a); printf(%.2f+%.2fin,x1,y); printf(%.2f-%.2fin,x1,y); else y=sqrt(-p)/(2*a); if(y0)printf(0.00+%.2fin0.00-%.2fin,y,y); else printf(0.00+%.2fin0.00-%.2f
20、in,-y,-y); return 0; 7、A除以B (15 分)真的是簡單題哈 給定兩個絕對值不超過100的整數(shù)A和B,要求你按照“A/B=商”的格式輸出結(jié)果。輸入格式:輸入在第一行給出兩個整數(shù)A和B(100A,B100),數(shù)字間以空格分隔。輸出格式:在一行中輸出結(jié)果:如果分母是正數(shù),則輸出“A/B=商”;如果分母是負(fù)數(shù),則要用括號把分母括起來輸出;如果分母為零,則輸出的商應(yīng)為Error。輸出的商應(yīng)保留小數(shù)點后2位。輸入樣例1:-1 2輸出樣例1:-1/2=-0.50輸入樣例2:1 -3輸出樣例2:1/(-3)=-0.33輸入樣例3:5 0輸出樣例3:5/0=Error【參考答案】#inc
21、lude #include int main()int A,B; scanf(%d %d,&A,&B); if(B=0) printf(%d/%d=Errorn,A,B); else if(B0) printf(%d/(%d)=%.2fn,A,B,(float)A/B); else printf(%d/%d=%.2fn,A,B,(float)A/B); return 0;8、計算火車運行時間 (15 分)本題要求根據(jù)火車的出發(fā)時間和達到時間,編寫程序計算整個旅途所用的時間。輸入格式:輸入在一行中給出2個4位正整數(shù),其間以空格分隔,分別表示火車的出發(fā)時間和到達時間。每個時間的格式為2位小時數(shù)(0
22、0-23)和2位分鐘數(shù)(00-59),假設(shè)出發(fā)和到達在同一天內(nèi)。輸出格式:在一行輸出該旅途所用的時間,格式為“hh:mm”,其中hh為2位小時數(shù)、mm為2位分鐘數(shù)。輸入樣例:1201 1530輸出樣例:03:29【參考答案】#include stdio.hint main() int h1,h2,hour1,hour2,men1,men2,a,b; scanf(%d %d,&h1,&h2); hour1=h1/100; men1=h1%100; hour2=h2/100; men2=h2%100; if(men2men1) men2=men2+60; hour2-; a=hour2-hour1
23、; b=men2-men1; printf(%02d:%02dn,a,b); return 0;實驗三1、求交錯序列前N項和 (15 分)本題要求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+. 的前N項之和。輸入格式:輸入在一行中給出一個正整數(shù)N。輸出格式:在一行中輸出部分和的值,結(jié)果保留三位小數(shù)。輸入樣例:5輸出樣例:0.917【參考答案】#include int main() int i,N,s=1; float a,b,t,sum=0; a=1; b=1; scanf(%d,&N); for(i=1;i=N;i+) t=a/b; sum+=s*t; s=-s;
24、a+; b=b+2; printf(%.3fn,sum); return 0; 2、統(tǒng)計整數(shù)的位數(shù) (4.1) (15 分)從鍵盤讀入一個整數(shù),統(tǒng)計該數(shù)的位數(shù)。例如,輸入12534,輸出5;輸入-99,輸出2;輸入0,輸出1。輸入格式:輸入一個整數(shù)N(105N105)。輸出格式:在一行中按如下格式輸出該數(shù)的位數(shù)。It contains 位數(shù) digits.輸入樣例:12534輸出樣例:It contains 5 digits.【參考答案】#include int main() int N,s=0; scanf(%d,&N); if(N=0) printf(It contains %d digi
25、ts.n,+s); else if(N0) N=-N; while(N!=0) s+; N=N/10; printf(It contains %d digits.n,s); return 0; 3、最大公約數(shù)和最小公倍數(shù) (15 分)本題要求兩個給定正整數(shù)的最大公約數(shù)和最小公倍數(shù)。輸入格式:輸入在一行中給出兩個正整數(shù)M和N(1000)。輸出格式:在一行中順序輸出M和N的最大公約數(shù)和最小公倍數(shù),兩數(shù)字間以1空格分隔。輸入樣例:511 292輸出樣例:73 2044【參考答案】#include int main() int M, N, gys, gbs;int t;scanf(%d %d, &M,
26、 &N);if (M N)t = M; M = N; N = t;for (gys = N; gys-)if (M%gys = 0 & N%gys = 0) break;gbs = M*N / gys;printf(%d %d, gys, gbs);return 0;4、統(tǒng)計字符 (15 分)本題要求編寫程序,輸入10個字符,統(tǒng)計其中英文字母、空格或回車、數(shù)字字符和其他字符的個數(shù)。輸入格式:輸入為10個字符。最后一個回車表示輸入結(jié)束,不算在內(nèi)。輸出格式:在一行內(nèi)按照letter = 英文字母個數(shù), blank = 空格或回車個數(shù), digit = 數(shù)字字符個數(shù), other = 其他字符個數(shù)的
27、格式輸出。輸入樣例:aZ &09 Az輸出樣例:letter = 4, blank = 3, digit = 2, other = 1【參考答案】#include int main() int i,letter,blank,digit,other; char c; letter=blank=digit=other=0; for(i=0;i=a&c=A&c=0&c=9) digit+; else if(c= |c=n) blank+; else other+; printf(letter = %d, blank = %d, digit = %d, other = %dn,letter,blank
28、,digit,other); return 0; 5、簡寫轉(zhuǎn)全稱 (15 分)在一行中輸入若干個字符作為簡寫字符,字符之間沒有空格間隔,并按如下規(guī)則產(chǎn)生輸出: 每個簡寫字母對應(yīng)一行輸出 若字符為C或c,則該行輸出BEIJING OLYMPIC GAMES 若字符為J或j,則該行輸出JAPAN WORLD CUP 若字符為K或k,則該行輸出KOREA WORLD CUP 若為其他字符,則該行原樣輸出該字符。輸入格式:輸入在一行中輸入若干個字符,字符之間沒有空格間隔,以回車結(jié)束。輸出格式:按題目要求產(chǎn)生若干行輸出。輸入樣例:kijckj輸出樣例:KOREA WORLD CUPiJAPAN WORL
29、D CUPBEIJING OLYMPIC GAMESKOREA WORLD CUPJAPAN WORLD CUP【參考答案】#include int main() char ch; ch=getchar(); while(ch!=n) if(ch=c|ch=C)printf(BEIJING OLYMPIC GAMESn); else if(ch=j|ch=J)printf(JAPAN WORLD CUPn); else if(ch=k|ch=K)printf(KOREA WORLD CUPn); else printf(%cn,ch); ch=getchar() ; return 0; 實驗四
30、1、窮舉法搬運磚塊問題 (4.3) (15 分)這是中國古典算術(shù)問題,某工地需要搬運磚塊,已知男人一人搬3塊,女人一人搬2塊,小孩兩人搬1塊。有多少種搬法用N人正好搬N塊磚?輸入格式:在一行內(nèi)輸出正整數(shù)N(N500)輸出格式:輸出所有滿足條件的搬法,每種搬法占一行。每行按如下格式依次輸出該搬法中男人、女人、小孩的人數(shù)(中間用空格間隔,=前后沒有多余的空格)。men=男人數(shù) women=女人數(shù) child=小孩數(shù)若沒有滿足條件的搬法,則輸出No solution!輸入樣例1:45輸出樣例1:men=0 women=15 child=30men=3 women=10 child=32men=6 w
31、omen=5 child=34men=9 women=0 child=36輸入樣例2:1輸出樣例2:No solution!【參考答案】#include int main() int n,men,women,child,flag=0; scanf(%d,&n); for(men=0;men=n/3;men+) for(women=0;women=n/2;women+) child=n-men-women; if(men*3+women*2+child/2=n&child%2=0) printf(men=%d women=%d child=%dn,men,women,child); flag=1
32、; if(flag=0)printf(No solution!); return 0; 2、輸出N以內(nèi)的所有素數(shù) (4.5) (15 分)編程找出N(2N500)以內(nèi)(即小于等于N)的所有素數(shù)。輸入格式:輸入整數(shù)N(2N500)。輸出格式:每8個一行輸出N以內(nèi)的所有素數(shù)。注意每個數(shù)據(jù)均占5列,且采用右對齊。輸入樣例1:50輸出樣例: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47【參考答案】#include int main() int n,i,j,m=0; scanf(%d,&n); if(n=2) printf(%5d,n); return 0; for(
33、i=2;i=n;i+) if(i=2)printf(%5d,i+);m+; for(j=2;j=i) if(m%8=0)printf(n); printf(%5d,i); m+; return 0; 3、求特殊方程的正整數(shù)解 (15 分)本題要求對任意給定的正整數(shù)N,求方程X2+Y2=N的全部正整數(shù)解。輸入格式:輸入在一行中給出正整數(shù)N(10000)。輸出格式:輸出方程X2+Y2=N的全部正整數(shù)解,其中XY。每組解占1行,兩數(shù)字間以1空格分隔,按X的遞增順序輸出。如果沒有解,則輸出No Solution。輸入樣例1:884輸出樣例1:10 2820 22輸入樣例2:11輸出樣例2:No Sol
34、ution【參考答案】#include int main() int n,x,y,flag=0; scanf(%d,&n); for(x=1;x*xn;x+) for(y=x;y*y=n-x;y+) if(x*x+y*y=n) flag=1; printf(%d %dn,x,y); ; if(flag=0) printf(No Solutionn); return 0; 4、打印菱形圖案 (15 分)本題要求編寫程序,打印一個高度為n的、由“*”組成的正菱形圖案。輸入格式:輸入在一行中給出一個正的奇數(shù)n。 輸出格式:輸出由n行星號“*”組成的菱形,如樣例所示。每個星號后跟一個空格。輸入樣例:7
35、輸出樣例: * * * * * * * * * * * * * * * * * * * * * * * * * 【參考答案】#include stdio.hint main() int n, n1;int i, j;scanf(%d, &n);n1=(n + 1) / 2;for (i = 1; i = n1; i+) for (j = 1; j = (2 * n1 - 2 * i); j+)printf( );for (j = 1; j = (2 * i - 1); j+)printf(* );printf(n);for (i = n1 + 1; i = n; i+)for (j = 1;
36、j = (2 * i - 2 * n1); j+)printf( );for (j = 1; j = (4 * n1 - 2 * i - 1); j+)printf(* );printf(n);return 0;5、跟奧巴馬一起畫方塊 (15 分)美國總統(tǒng)奧巴馬不僅呼吁所有人都學(xué)習(xí)編程,甚至以身作則編寫代碼,成為美國歷史上首位編寫計算機代碼的總統(tǒng)。2014年底,為慶祝“計算機科學(xué)教育周”正式啟動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形?,F(xiàn)在你也跟他一起畫吧!輸入格式:輸入在一行中給出正方形邊長N(3N21)和組成正方形邊的某種字符C,間隔一個空格。輸出格式:輸出由給定字符C畫出的
37、正方形。但是注意到行間距比列間距大,所以為了讓結(jié)果看上去更像正方形,我們輸出的行數(shù)實際上是列數(shù)的50%(四舍五入取整)。輸入樣例:10 a輸出樣例:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa【參考答案】#include int main()char c; int n,l,i,j; scanf(%d %c,&n,&c); l=(float)n/2+0.5; for(i=1;i=l;i+) for(j=1;j=n;j+) putchar(c); putchar(n); return 0;實驗五1、數(shù)字金字塔 (4.10)(20分)輸入一個正
38、整數(shù)repeat(repeat10),做repeat次下列運算: 輸入一個正整數(shù)n(n10),輸出n行數(shù)字金字塔。輸出時使用以下語句: printf( ); printf(%d , i); printf(n);輸入格式:輸入在第1行中給出1個正整數(shù)repeat(repeat10)接下來repeat行,每行給出一個正整數(shù)n(n10)輸出格式:按照對應(yīng)順序的n值,依次輸出repeat個數(shù)字金字塔 (n行數(shù)字金字塔的格式如樣例所示,注意:每個數(shù)字后面跟一個空格。)輸入樣例:252輸出樣例: 1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 1 2 2
39、 2 【答案】#include #include int main() int repeat,n,i,j,k; scanf(%d,&repeat); for(k=1;k=repeat;k+) scanf(%d,&n); for(i=1;i=n;i+) for(j=1; j=n-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(%d ,i); printf(n); return 0;2、分解質(zhì)因數(shù) (4.6)(20分)輸入一個整數(shù)n(2n10000),對其分解質(zhì)因數(shù)。輸入格式:輸入正整數(shù)n(2n10000)。輸出格式:輸出整數(shù)=各分解質(zhì)因數(shù)的乘積輸入樣例:1
40、20輸出樣例:120=2*2*2*3*5【答案1】#include int main() int n,i,j,k=1; scanf(%d,&n); printf(%d=,n); for(i=2;i=n;i+) while(n%i=0) if(k=1) printf(%d,i); k+; else printf(*%d,i); n=n/i; return 0;【答案2】#include int main() int n,i,j,k=1; scanf(%d,&n); printf(%d=,n); for(i=2;i=n;i+) for(j=2;j=i) while(n%i=0) n=n/i; if
41、(k=1)printf(%d,i);k+; else printf(*%d,i); return 0;3、龜兔賽跑(20分)烏龜與兔子進行賽跑,跑場是一個矩型跑道,跑道邊可以隨地進行休息。烏龜每分鐘可以前進3米,兔子每分鐘前進9米;兔子嫌烏龜跑得慢,覺得肯定能跑贏烏龜,于是,每跑10分鐘回頭看一下烏龜,若發(fā)現(xiàn)自己超過烏龜,就在路邊休息,每次休息30分鐘,否則繼續(xù)跑10分鐘;而烏龜非常努力,一直跑,不休息。假定烏龜與兔子在同一起點同一時刻開始起跑,請問T分鐘后烏龜和兔子誰跑得快?輸入格式:輸入在一行中給出比賽時間T(分鐘)。輸出格式:在一行中輸出比賽的結(jié)果:烏龜贏輸出_,兔子贏輸出_,平局則輸出
42、-_-;后跟1空格,再輸出勝利者跑完的距離。輸入樣例:242輸出樣例:_ 726【答案】#include int main() int t,tu=0,gui=0; scanf(%d,&t); while(t0) if(t=10) tu+=9*10; gui+=3*10; else tu+=t*9; gui+=t*3; t=t-10; if(tgui) if(t=30) gui+=3*30; else gui+=3*t; t=t-30; if(guitu)printf(_ %dn,gui); else if(tugui) printf(_ %dn,tu); else printf(-_- %dn
43、,tu); return 0;4、簡單計算器(20分)模擬簡單運算器的工作。假設(shè)計算器只能進行加減乘除運算,運算數(shù)和結(jié)果都是整數(shù),四種運算符的優(yōu)先級相同,按從左到右的順序計算。輸入格式:輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個操作數(shù)。遇等號”=”說明輸入結(jié)束。輸出格式:在一行中輸出算式的運算結(jié)果,或者如果除法分母為0或有非法運算符,則輸出錯誤信息“ERROR”。輸入樣例:1+2*10-10/2=輸出樣例:10【答案】#include int main() int a,result; char op; scanf(%d,&a); result=a; scanf(%c,&op);
44、while(op!=) scanf(%d,&a); switch(op) case +: result+=a; break; case -: result-=a; break; case *: result*=a; break; case /: if(a=0) printf(ERROR);return 0; result/=a; break; default : printf(ERROR);return 0; scanf(%c,&op); printf(%dn,result); return 0; 實驗六1、將數(shù)組中的數(shù)逆序存放(15分)本題要求編寫程序,將給定的n個整數(shù)存入數(shù)組中,將數(shù)組中的這n個數(shù)逆序存放,再按順序輸出數(shù)組中
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于界面斷裂損傷的鋼橋面瀝青鋪裝層粘結(jié)失效行為及機理研究
- 體育期末教學(xué)工作總結(jié)(20篇)
- 中介電子合同范本
- 施工合同與中標(biāo)合同范本
- 水稻銷售合同范本
- 無機-有機混酸回收廢脫硝催化劑中釩的研究
- 2025年全熱風(fēng)載流焊機項目合作計劃書
- 瘠性陶瓷漿料的穩(wěn)定性判據(jù)研究
- 川西地區(qū)二疊系烴源巖特征及生烴潛力評價
- 商業(yè)健康保險AI智能設(shè)備企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- DBJ33T 1271-2022 建筑施工高處作業(yè)吊籃安全技術(shù)規(guī)程
- 2025年3月日歷表(含農(nóng)歷-周數(shù)-方便記事備忘)
- 消化內(nèi)鏡護理講課
- 《中國人口老齡化》課件
- 腰椎后路減壓手術(shù)
- 自來水廠安全施工組織設(shè)計
- 《跟單信用證統(tǒng)一慣例》UCP600中英文對照版
- 《醫(yī)院應(yīng)急培訓(xùn)》課件
- 提高教育教學(xué)質(zhì)量深化教學(xué)改革措施
- 招標(biāo)代理機構(gòu)遴選投標(biāo)方案(技術(shù)標(biāo))
- 證件使用協(xié)議書(2篇)
評論
0/150
提交評論