![c語(yǔ)言試題水仙花數(shù)_第1頁(yè)](http://file4.renrendoc.com/view/2e4618dbaf9ef05d8ff2c48f1f4c6856/2e4618dbaf9ef05d8ff2c48f1f4c68561.gif)
![c語(yǔ)言試題水仙花數(shù)_第2頁(yè)](http://file4.renrendoc.com/view/2e4618dbaf9ef05d8ff2c48f1f4c6856/2e4618dbaf9ef05d8ff2c48f1f4c68562.gif)
![c語(yǔ)言試題水仙花數(shù)_第3頁(yè)](http://file4.renrendoc.com/view/2e4618dbaf9ef05d8ff2c48f1f4c6856/2e4618dbaf9ef05d8ff2c48f1f4c68563.gif)
![c語(yǔ)言試題水仙花數(shù)_第4頁(yè)](http://file4.renrendoc.com/view/2e4618dbaf9ef05d8ff2c48f1f4c6856/2e4618dbaf9ef05d8ff2c48f1f4c68564.gif)
![c語(yǔ)言試題水仙花數(shù)_第5頁(yè)](http://file4.renrendoc.com/view/2e4618dbaf9ef05d8ff2c48f1f4c6856/2e4618dbaf9ef05d8ff2c48f1f4c68565.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c語(yǔ)言試題 (水仙花數(shù) ==)Description某外國(guó)銷售公司需要向國(guó)內(nèi)的一些大型單位打電話推銷產(chǎn)品。 這個(gè)公司的工作場(chǎng)景是這樣推銷員坐在自己電腦旁邊,通過(guò)一款自動(dòng)撥電話的軟件與客戶聯(lián)系。 所有需要被撥打的電話號(hào)碼都事先存儲(chǔ)在服務(wù)器上, 推銷員不需要每次都很麻煩的輸入客戶的電話號(hào)碼,當(dāng)推銷員點(diǎn)擊軟件里撥打的按鈕,下一個(gè)電話將會(huì)自動(dòng)撥出?,F(xiàn)在你需要編寫個(gè)程序來(lái)模擬這個(gè)自動(dòng)撥電話軟件的工作過(guò)程。 電話號(hào)碼是按照中國(guó)的習(xí)慣存儲(chǔ)下來(lái)的,可能是從網(wǎng)站上抓取的,也可能是掃描的手寫件。不過(guò)它們都被按照這樣的格式存儲(chǔ)下來(lái):(城市區(qū)號(hào) )分區(qū)前綴 -分機(jī)號(hào)比如青島的一個(gè)大型單位的某部電話是 (0532)621-15486,是指如果在單位內(nèi)部直接撥打15486就行,在青島的其他地方要撥打 62115486,而在北京要撥打 053262115486。根據(jù)常識(shí),先撥 0就是要轉(zhuǎn)外線,所以一般電話號(hào)碼的各個(gè)部分都不會(huì)以 0開頭。你的程序可以把如上格式的電話號(hào)碼翻譯成一個(gè)只包含有數(shù)字的串, 發(fā)送給電話機(jī)并撥出。值得注意的是中國(guó)的城市區(qū)號(hào)長(zhǎng)度并不相同,比如北京是 010。再有不同城市的電話號(hào)碼位數(shù)也不相同,并且不同單位根據(jù)內(nèi)部電話分機(jī)數(shù)目多少,有的可能只有 3位分機(jī)號(hào)碼,有的可能分區(qū)前綴號(hào)會(huì)只有 2位。 但不管怎樣中國(guó)現(xiàn)在還沒有哪個(gè)城市的電話號(hào)碼超過(guò)十位數(shù)的。中國(guó)的國(guó)際區(qū)號(hào)是 0086。這里不含像 114這樣的特服電話。Input輸入只有一行,是符合“ (城市區(qū)號(hào) )分區(qū)前綴 -分機(jī)號(hào)”規(guī)律的電話號(hào)碼,這里面除了英文字符“ (”、“)”、“-”之外只有數(shù)字。Output輸出只有一行,是帶中國(guó)區(qū)號(hào)的能電話號(hào)碼。注意從國(guó)外打國(guó)內(nèi)的電話,城市區(qū)號(hào)前面的0是不用撥打的。比如中國(guó)青島的國(guó)際分區(qū)號(hào)是 0086532。SampleInput(0532)621-15486SampleOutput008653262115486HINT這是個(gè)可以用 scanf()解決的問題,請(qǐng)注意電話號(hào)碼都是數(shù)字這個(gè)規(guī)律。****************************************************************************************Description給定一個(gè) n,求出 s=1+2+3+...+n的值。Input輸入只有一行,包含一個(gè)正整數(shù) n(n<=232)。Output輸出一行,為 1+2+...+n的值。SampleInput10SampleOutput55HINTn的數(shù)據(jù)范圍大,需注意數(shù)據(jù)類型的選擇和計(jì)算次序,以避免數(shù)據(jù)溢出。****************************************************************************************Description從鍵盤輸入一個(gè)數(shù) x,x是2的整數(shù)次冪( x=2y),請(qǐng)編程求出 y的值。Input一個(gè)非負(fù)有理數(shù) x,x在[0,2256]范圍內(nèi)。Output一個(gè)整數(shù) y。SampleInput1SampleOutput0HINT看起來(lái)數(shù)據(jù)很大,但是用 double完全可以存儲(chǔ)。為什么?請(qǐng)研究下 IEEE-754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)存儲(chǔ)格式。這里要用到語(yǔ)言標(biāo)準(zhǔn)庫(kù)的數(shù)學(xué)函數(shù)。****************************************************************************************Description讀取兩行字符串,按每行的長(zhǎng)度從長(zhǎng)到短輸出。Input輸入為兩行,每行不會(huì)超過(guò) 26個(gè)字符。Output輸出為兩行,按每行的長(zhǎng)度從長(zhǎng)到短輸出。SampleInputabcdefghijkabcdefghijklmnopqrstuvwxyzSampleOutputabcdefghijklmnopqrstuvwxyzabcdefghijkHINT了解字符串的存儲(chǔ)和操作, 了解 gets()和 scanf("%s")讀入字符串的不同之處。****************************************************************************************Description輸出1~k之間是m的倍數(shù)或 n的倍數(shù)、但不是 m和n的公倍數(shù)的數(shù),其中1<=m,n<k<100。Input輸入三個(gè)整數(shù),依次為 k、m、 n。Output從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個(gè)空格分開。SampleInput1523SampleOutput23489101415HINT難點(diǎn)在于輸出格式的控制:空格在數(shù)的中間,學(xué)會(huì)用循環(huán)時(shí)邊界情況的特殊處理。****************************************************************************************Description找出n個(gè)數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來(lái)。Input輸入為n+1個(gè)整數(shù),都在 int類型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開。輸入的第 1個(gè)數(shù)為n,表示后續(xù)有 n個(gè)數(shù)輸入。 從輸入的第 2個(gè)數(shù)開始, 求出直到第 n+1個(gè)數(shù)中最大的數(shù)和最小的數(shù)。Output輸出為兩行,格式見 sample。SampleInput301-1SampleOutputThemaximumnumberis1.Theminimumnumberis-1.HINT分隔符是空格還是回車都是空白符, 對(duì)scanf("%d")來(lái)說(shuō)沒有區(qū)別; 先讀入 n,然后用for循環(huán)就很容易控制讀入 n個(gè)數(shù)的過(guò)程。*****************************************************************************************Description把百分制的考試成績(jī)轉(zhuǎn)換成五級(jí)制的成績(jī):90~100:Excellent80~89:Good70~79:Average60~69:Pass0~59:Failing不在 0~ 100之間的輸入是非法數(shù)據(jù),輸出“ Error”。Input輸入多行,每行一個(gè)整數(shù)。Output輸入所對(duì)應(yīng)的成績(jī)等級(jí)。SampleInput-18192356872100SampleOutputErrorGoodExcellentFailingPassAverageExcellentHINT用switch語(yǔ)句解決這個(gè)問題比較方便。*****************************************************************************************Description編程序讀入并計(jì)算只有一個(gè)二元運(yùn)算符的表達(dá)式的值。 用到的二元運(yùn)算符有: “+”、“-”、“*”、“/”、“%”,與 C語(yǔ)言的語(yǔ)法一致。Input每行輸入一個(gè)表達(dá)式,格式為:二個(gè)整型的操作數(shù) a和 b,中間用一個(gè)符號(hào)分開,這個(gè)符號(hào)就是運(yùn)算符。測(cè)試樣例不存在除數(shù)為 0的情況。輸入以a和b為 0,且用一個(gè)空格分開結(jié)束。Output每行對(duì)應(yīng)輸入的運(yùn)算符為“ +”、 “ -”、 “*”、“ /”、 “ %”,則計(jì)算 a+b、 a-b、a*b、 a/b、 a%b的值;否則輸出“ invalidop”。SampleInput33+58*92.21-617/39%300SampleOutput3872invalidop-550HINT教材上有非常相似的例題可以參考。****************************************************************************************Description素?cái)?shù)是只能被 1和自身整除的正整數(shù),根據(jù)數(shù)學(xué)定義 1不是素?cái)?shù)。素?cái)?shù)也叫質(zhì)數(shù)。Input輸入為兩個(gè)整數(shù) m和 n,滿足 0<=m<=n<=100。Output從大到小輸出 m~n之間的所有素?cái)?shù),一個(gè)素?cái)?shù)一行。如果 m~n之間沒有素?cái)?shù),則不輸出任何數(shù)。輸出的所有數(shù)在兩行“SampleInput212SampleOutput117532HINT利用素?cái)?shù)的數(shù)學(xué)規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。****************************************************************************************Description已知華氏溫度 F,轉(zhuǎn)換為攝氏溫度 C的公式為 C=(F-32)*5/9。輸出給定范圍(從 low到high)和步長(zhǎng)( step)的攝氏——華氏溫度轉(zhuǎn)換表Input第1行若為“C->F”表示輸出: 攝氏——華氏溫度轉(zhuǎn)換表,若為“F->C”表示輸出:華氏——攝氏溫度轉(zhuǎn)換表。第 2、3行為兩個(gè)整數(shù): high和low,其值在-100到200之間。第4行為 step,step精確到小數(shù)點(diǎn)后 1位。Output輸出第一行為 C和 F,分別表示攝氏和華氏,與小數(shù)點(diǎn)對(duì)齊。若輸出攝氏——華氏溫度轉(zhuǎn)換表,則 C在前、F在后;反之,則輸出華氏——攝氏溫度轉(zhuǎn)換表。從輸出的第 2行開始為從溫度 low到溫度 high(包括 low和 high)的轉(zhuǎn)換表,溫度輸出精確到小數(shù)點(diǎn)后 1位,表格被“ ->”分為兩個(gè)寬度相同的部分,其它的測(cè)試樣例也不會(huì)給出超出寬度的數(shù)據(jù),格式詳見 sample。SampleInputC->F-1040
2.5SampleOutputC-> F-10.0-> 14.0-7.5-> 18.5-5.0->23.0-2.5->27.50.0->32.02.5->36.55.0->41.07.5->45.510.0->50.012.5->54.515.0->59.017.5->63.520.0->68.022.5->72.525.0->77.027.5->81.530.0->86.032.5->90.535.0->95.037.5->99.540.0->104.0HINT輸出格式可以通過(guò) sample分析出來(lái),因?yàn)閮蓹诘目倢挾仁枪潭ǖ?。一個(gè)隱藏的陷阱是step是浮點(diǎn)數(shù),某些浮點(diǎn)數(shù)是無(wú)法精確存儲(chǔ)的,因此經(jīng)過(guò)一定量的計(jì)算后這個(gè)誤差會(huì)影響到浮點(diǎn)數(shù)的相等性判斷,需要加上精度控制。******************************************************************************************Description求1!+2!+,+k!=?,并判斷是否溢出。Input輸入為一個(gè)正整數(shù) k。Output若1!+2!+,+k!的值溢出 unsigned(無(wú)符號(hào)整型) 的范圍輸出 “overflow”,否則輸出 1!+2!+,+k!的結(jié)果。SampleInput5SampleOutput153HINT如果一個(gè)值溢出某個(gè)變量的數(shù)據(jù)類型存儲(chǔ)范圍,但仍然存入該變量,那么存入該變量中的值實(shí)際上是什么?****************************************************************************************ProblemA:水仙花數(shù)#include<stdio.h>intmain(){intn,b,c,d;scanf("%d",&n);b=n/100;c=n/10%10;d=n%10;if((b*b*b+c*c*c+d*d*d)==n)printf("YES");elseprintf("NO");return0;}ProblemB:多少?gòu)堚n票#include<stdio.h>intmain(){intx,a,b,c,d;scanf("%d",&x);a=(100-x)/20;b=(100-x)%20/10;c=(100-x)%20%10/5;d=(100-x)%20%10%5;printf("$20bills:%d\n",a);printf("$10bills:%d\n",b);printf("$5bills:%d\n",c);printf("$1bills:%d",d);return0;}ProblemC:自動(dòng)撥出電話的程序#include<stdio.h>intmain(){inta,b,c;scanf("(%d)%d-%d",&a,&b,&c);printf("0086%d%d%d",a,b,c);return0;}ProblemD:求1+2+...+n=?#include<stdio.h>intmain(){unsignedlonglongn,sum;scanf("%llu",&n);sum=(n+n*(n-1)/2);printf("%llu",sum);return0;}ProblemE:2的多少次冪#include<stdio.h>#include<math.h>intmain(){doublex;scanf("%lf",&x);printf("%.0lf",log(x)/log(2));return0;}ProblemF:哪一行比較長(zhǎng)#include<stdio.h>intmain(){charstr1[27],str2[27],n,m;gets(str1);gets(str2);m=0;while(str1[m]!='\0')m++;n=0;while(str2[n]!='\0')n++;if(m>n){puts(str1);puts(str2);}else{puts(str2);puts(str1);}return0;}ProblemG:三個(gè)數(shù)比較大小#include<stdio.h>intmain(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a>b){t=b;b=a;a=t;}if(b>c){t=c;c=b;b=t;}if(a>b){t=b;b=a;a=t;}printf("%d%d%d",a,b,c);return0;}ProblemH:輸出是m的倍數(shù)或 n的倍數(shù)、但不是 m和n的公倍數(shù)的數(shù)#include<stdio.h>intmain(){intm,n,k,i;scanf("%d%d%d",&k,&m,&n);for(i=1;i<=k;i++)if((i%m==0&&i%n!=0)||(i%m!=0&&i%n==0))printf("%d",i);printf("\b");return0;}ProblemI:A+BProblem#include<stdio.h>intmain(){intm,n,sum;while(scanf("%d%d",&m,&n)!=EOF){sum=m+n;printf("%d\n",sum);}return0;}A+BProblem(II):Input/OutputPratice#include<stdio.h>intmain(){inti,n;scanf("%d",&n);inta[n];intb[n];for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);for(i=0;i<n;i++){printf("%d\n",a[i]+b[i]);}return0;}ProblemK:A+BProblem(III):Input/OutputPratice#include<stdio.h>intmain(){inti,m;inta[50];intb[50];for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0)break;}for(m=0;m<i;m++)printf("%d\n",a[m]+b[m]);return0;}ProblemL:A+BProblem(IV):Input/OutputPratice#include<stdio.h>intmain(){inta,b;while(scanf("%d%d",&a,&b)!=EOF)printf("%d\n\n",a+b);}ProblemM:n個(gè)數(shù)的最大值和最小值#include<stdio.h>intmain(){intn,i,max,min;scanf("%d",&n);inta[n];for(i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];min=a[0];for(i=0;i<n;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];}printf("Themaximumnumberis%d.\n",max);printf("Theminimumnumberis%d.",min);return0;}ProblemN:成績(jī)的等級(jí)#include<stdio.h>intmain(){intn;while(scanf("%d",&n)!=EOF){if(n<=100&&n>=0){switch(n/10){case10:case9:printf("Excellent");break;case8:printf("Good");break;case7:printf("Average");break;case6:printf("Pass");break;case5:case4:case3:case2:case1:case0:printf("Failing");break;}}elseprintf("Error");printf("\n");}return0;}ProblemO:只有一個(gè)二元運(yùn)算符的表達(dá)式運(yùn)算#include<stdio.h>intmain(){inta,b;charc;scanf("%d%c%d",&a,&c,&b);for(;;){if(c=='+')printf("%d\n",a+b);elseif(c=='-')printf("%d\n",a-b);elseif(c=='*')printf("%d\n",a*b);elseif(c=='/')printf("%d\n",a/b);elseif(c=='%')printf("%d\n",a%b);elseif((c=='')&&(a==0)&&(b==0))break;elseprintf("invalidop\n");scanf("%d%c%d",&a,&c,&b);}return0;}ProblemP:求100以內(nèi)的素?cái)?shù)#include<stdio.h>intmain(){inti,m,n;scanf("%d%d",&m,&n);printf("=====\n");for(i=n;i>=m;i--){if(i%2!=0&&i%3!=0&&i%5!=0&&i%7!=0&&i!=1)printf("%d\n",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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ù)學(xué)八年級(jí)下冊(cè)4.5《一次函數(shù)的應(yīng)用》聽評(píng)課記錄3
- 湘教版九年級(jí)數(shù)學(xué)下冊(cè)2.6弧長(zhǎng)與扇形面積第1課時(shí)弧長(zhǎng)聽評(píng)課記錄
- 八年級(jí)上冊(cè)道德與法治第一單元 走進(jìn)社會(huì)生活則 復(fù)習(xí)聽課評(píng)課記錄
- 蘇科版數(shù)學(xué)八年級(jí)下冊(cè)《9.1 圖形的旋轉(zhuǎn)》聽評(píng)課記錄2
- 蘇教版小學(xué)五年級(jí)上冊(cè)數(shù)學(xué)口算練習(xí)題
- 出國(guó)勞務(wù)派遣合同范本
- IT程序員保密協(xié)議書范本
- 深圳經(jīng)濟(jì)特區(qū)房產(chǎn)抵押貸款協(xié)議書范本
- 全國(guó)事業(yè)單位聘用合同范本
- 鄉(xiāng)村振興戰(zhàn)略合作合同范本
- 《霍爾效應(yīng)測(cè)量磁場(chǎng)》課件
- 《統(tǒng)計(jì)分析與SPSS的應(yīng)用(第7版)》課件全套 第1-12章 SPSS統(tǒng)計(jì)分析軟件概述
- 黑龍江省哈爾濱市2022-2023學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 中專數(shù)學(xué)(基礎(chǔ)模塊)上冊(cè)課件
- 智慧農(nóng)業(yè)整體解決方案
- 總經(jīng)理權(quán)責(zé)授權(quán)書
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動(dòng)型作文的審題立意課件73張
- 家具廠規(guī)章制度
- 三查四定管理制度(參考模板)
- 《體育與健康教學(xué)改革指導(dǎo)綱要》的時(shí)代意義、內(nèi)容特征和踐行路徑兼論新時(shí)代學(xué)校體育的走向
評(píng)論
0/150
提交評(píng)論