版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言一中國(guó)石油大學(xué)(華東)C語言上機(jī)題及答案大全1.1Helloworld.讓我們用c語言向世界問好。最早的程序基本是這個(gè)樣子的:程序ー:ttinclude<stdio.h>voidmain()(printf("Helloworld.\n");}程序ニ:ftinclude<stdio.h>intmain(){printf("Helloworld.\n");return0;}上面的程序你任意模仿ー個(gè),看看是否可以通過?如果你能通過這個(gè)簡(jiǎn)單的程序,那就讓我們繼續(xù)完成后面的習(xí)題吧。輸入:無輸出:Helloworld.#include<stdio.h>intmain(){printf("Helloworld.\n");}1.2WelcometoBeijing.讓我們來練習(xí)如何顯示多行文字。輸入:無輸出:就是下面的那段文字。#include<stdio.h>voidmain(){printf("Welcome'n");printf("to\n");printf("Beijing.\n");}3練習(xí)最簡(jiǎn)單的printf和scanfprintf函數(shù)和scanf函數(shù)是C語言中最常用的函數(shù)之一,下面讓我們練習(xí)一下吧。輸入:整型變量x的值。輸出:輸出整型變量x對(duì)應(yīng)的十進(jìn)制、ハ進(jìn)制和十六進(jìn)制形式。認(rèn)真觀察ー1的八進(jìn)制和十六進(jìn)制輸出,請(qǐng)想想是為什么。#include<stdio.h>intmain(){intx;scanf("%d",&x);printfIx=%d,=x);printf(〃x二%〇,二x);printf(〃x二%x\n',x);return0;}練習(xí)兩個(gè)整數(shù)之間的運(yùn)算背景:基本練習(xí)。輸入:接受兩個(gè)整數(shù),每個(gè)整數(shù)之間使用空格分隔。例如輸入格式為:123444輸出:分別輸出進(jìn)行+、ー、?、/、?之后的運(yùn)行結(jié)果。finclude<stdio.h>intmainO{intx,y;scanf&x,&y);printf(〃%d+%d=%d\n〃,x,y,x+y);printf("%did二%d\n”,x,y,x-y);printf("刎?%d二%d\n”,x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%%d=%d\n",x,y,x%y);return0;}學(xué)習(xí)打印你的第一個(gè)圖形背景:我們已經(jīng)學(xué)習(xí)了printf函數(shù),這里給出了一個(gè)小程序,它運(yùn)行的結(jié)果是輸出ー個(gè)由星號(hào)(*)組成的4*4的正方形。程序如下:ftinclude<stdio.h>intmain(){printf("****\n");printf("****\n");printf("****\n");printf("****\n");return0;}要求:按照上面的程序范例,編寫ー個(gè)小程序,要求輸出的是4行由?號(hào)組成的等腰三角形。輸入:無。輸出:指定圖形。ttinclude<stdio.h>-1-intmainO{printf(〃*\n");printf("***\n");printf(〃*****\n");printf(〃*******\n");return0;}整型數(shù)的表示范圍編寫ー個(gè)循環(huán)程序,輸入N值,輸出N的階乘。關(guān)于循環(huán)程序怎么編寫,可以參考教材第3章P66頁的例題4.2和第5章P82的例題5.1的內(nèi)容。注意整型數(shù)的表示范圍,如果當(dāng)輸入的N比較大時(shí),例如N等于20時(shí),輸出怎么是負(fù)數(shù)了?自己想明白吧!#include<stdio.h>voidmainO{intN,i;intsum=l;N>=2;scanf("%d",&N);if(Nく二16){for(i=l;i<=N;i++)sum=sum*i;printf("%d\n",sum);)if(N>=17)printfCNistoobig!\n");}求正弦函數(shù)值已知求正弦sin(x)的近似值的多項(xiàng)式公式為:sin(x)=x-x3/3!+x5/5!-x7/7!+ + (-l)nx2n+l/(2n+l)!+…編寫程序,要求輸入x(單位是弧度)和e,按上述公式計(jì)算sin(x)的近似值,要求計(jì)算的誤差小于給定的£〇此題當(dāng)然要用到循環(huán)語句,到第5章去找個(gè)貓來照著畫吧,循環(huán)的終止條件就是本次計(jì)算出來的正弦函數(shù)值和上次計(jì)算的值的差小于給定的£〇求兩個(gè)值的差時(shí),要求出其絕對(duì)值,使用庫函數(shù)fabs(),頭文件在math.h里。友情提示:給定的誤差值£越小,計(jì)算的精度越高,但是要注意嘍,給的精度太高,你的程序會(huì)成為死循環(huán)。如果出現(xiàn)死循環(huán)的情況,可以用くCtrl>+くBreak〉鍵退出程序。ttinclude<stdio.h>#include<math.h>intmain(){floatx,eps,s,y=0,yO,t;intn,j;scanf<%f%i,&x,&eps);n=t=j=l;s=x;do{yO=y;if(n%2==0)y=y-s/t;elsey=y+s/t;s*=x*x;t*=(j+l)*(j+2);j+=2;n++;}while(fabs(yO-y)>eps);printf("%f\n”,sin(x));system("PAUSE");return0;}判斷輸入的字符的類型我們將字符分為五類:大寫字母、小寫字母、數(shù)字、控制字符、其他字符。編寫程序,從鍵盤輸入一個(gè)字符,輸出字符所屬的類型:大寫字母時(shí)輸出capitalletters,小寫字母時(shí)輸出smallletters,數(shù)字是輸出figures,其他字符時(shí)輸出others〇#include<stdio.h>voidmain(){charc;c=getchar();if(c<0x20)printf("Thecharacterisacontrolcharacter\n");elseif(c>=’〇'&&c<='9')printf("figures\n");elseif(c>='A'&&c<="Z")printf("capitalletters\n"):elseif(c>='a'&&c<='z')printf("smallletters\n");else-2-printf("others\n");}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分的硬幣。試編寫ー個(gè)程序,輸入的是要找給顧客的零錢(以分為單位),輸出的是應(yīng)該找回的各種硬幣數(shù)目,并保證找回的硬幣數(shù)最少。^include<stdio.h>intmain(){intxl,x2,x3,x4,x5;intx;scanf("%d",&x);xl=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("%d\n",xl);printf("%d\n",x2);printf("%d\n",x3);printf("%d\n",x4);printf("%d\n",x5);return0;}計(jì)算時(shí)鐘的夾角背景:鐘面上的時(shí)針和分針之間的夾角總是在0度、359度之間。舉例來說,在十二點(diǎn)的時(shí)候兩針之間的夾角為〇度,而在六點(diǎn)的時(shí)候夾角為180度,在三點(diǎn)的時(shí)候?yàn)?0度。本題要解決的是計(jì)算0:00到12:00之間任意ー個(gè)時(shí)間的夾角。輸入:每組測(cè)試數(shù)據(jù)包含兩個(gè)數(shù)字:第一個(gè)數(shù)字代表小時(shí)(大于等于0小于12),第二個(gè)數(shù)字代表分(在區(qū)間[〇,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)開始,每過1分鐘時(shí)針再增加0.5度。提示:時(shí)鐘夾角計(jì)算公式丨5.5m-30h|,h為時(shí)針,m為分針。求浮點(diǎn)型絕對(duì)值的函數(shù)為fabs,需要包含math,h頭文件#include"stdio.h"#includemath,nintmain(){inth,m;doubleangle;scanfl%d%dzz,&h,&m);angle=fabs(5.5*m-30*h);if(angle>180)angle=360-angle;printf(*At%d:%02dtheangleis%.Ifdegrees.\n",h,m,angle);}照貓畫貓:計(jì)算圓柱的側(cè)面積及體積如果已知圓柱的底面半徑r,以及高h(yuǎn),則可計(jì)算出圓柱的側(cè)面積s=2nrh,體積v=nr2h〇其中n=3.1415926輸入第一行輸入圓柱的底面半徑r第二行輸入圓柱的高h(yuǎn)輸出s=<圓柱的側(cè)面積>バ=く圓柱的體積>要求1.所有變量都定義為雙精度類型2.結(jié)果精確到小數(shù)點(diǎn)后兩位finclude"stdio.h"^definen3.1415926intmain(){floatr,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.2f\n",s,v);}4分離整數(shù)任意從鍵盤上輸入ー個(gè)三位正整數(shù),要求正確地分離出它的個(gè)位、十位和百位,并分別在屏幕上輸出。比如輸入的三位正整數(shù)tinclude"stdio.h"intmainO{-3-intx,hundreds,tens,units;printf;scanf(〃%d〃,&x);hundreds=x/100;tens=x%100/10;units=x%100%10;printf("units二%d,tens=%d,hundreds=%d\n",units,tens,hundreds);}3.5雞兔同籠已知籠中有頭h個(gè),有腳f條,問籠中雞兔各有多少只?輸入:頭和腳的數(shù)目輸出:兔子和雞的數(shù)目(輸出語句為:printf("rabbit=%d,chicken=%d",rabbit,chicken);)Sample輸出:rabbit=O,chicken=10#include"stdio.h"intmain(){intchicken,rabbit,f,h;scanf(,z%d%d,z,&h,&f);rabbit=(f-2*h)/2;chicken=(4*h-f)/2;print—rabbit=%d,chicken二%d\n,rabbit,chicken);)I溫度轉(zhuǎn)換背景:經(jīng)常出國(guó)旅行的驢友都知道,需要時(shí)時(shí)了解當(dāng)?shù)氐臍鉁貭顩r,但不少國(guó)家采用了不同的溫度計(jì)量單位:有些使用華氏溫度標(biāo)準(zhǔn)(F),有些使用攝氏溫度(C)。現(xiàn)在,請(qǐng)你根據(jù)溫度轉(zhuǎn)換公式設(shè)計(jì)ー個(gè)溫度轉(zhuǎn)換程序,可以進(jìn)行溫度轉(zhuǎn)換。如果輸入攝氏溫度,顯示轉(zhuǎn)換的華氏溫度;如果輸入華氏溫度,顯示轉(zhuǎn)換的攝氏溫度。溫度轉(zhuǎn)換的公式為:F=(CX9/5)+32;C=(F-32)X5/9;式中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<stdio.h>voidmain(){intlx;doublef,c;scanf("%d”,&lx);if(lx==l){scanf("%1f',&f);c=(f-32)*5/9;printf("TheCentigradeis%.2f\n",c);}else{scanf("%1f",&c);f=(c*9/5)+32;printf("TheFahrenheitis%.2f\n",f);}}4.2分段函數(shù)有一分段函數(shù),y=f(x)。當(dāng)x小于6時(shí),y=x-12J當(dāng)x大于等于6且小于15時(shí),y=3x-1;當(dāng)x大于等于15時(shí),y=5x+9.從鍵盤上輸入一個(gè)整數(shù)x,輸出對(duì)應(yīng)的y值。ttinclude<stdio.h>voidmain(){intx,y;scanf("%d",&x);if(x<6)y=x-12;elseif(x<15)y=3*x-l;elsey=5*x+9;printf("%d\n",y);return0;}3整數(shù)位數(shù)判斷輸入ー個(gè)不多于5位的正整數(shù),要求:(1)求它是幾位數(shù);(2)逆序打印出各位數(shù)字。#include<stdio.h>#include<stdlib.h>ttdefineSIZE5intmain(void){-4一intbit_count;〃位數(shù)longintinput_num;〃輸入數(shù)intresult[SIZE];〃存放各個(gè)位的數(shù)inti;scanf("%ld”,&input_num);if(input_num<0|Iinput_num>99999){printf(^Invalidinput'n");exit(l);)for(bitcount=0;input_num;++bitcount){result[bit_count]=input_num%10;input_num/=10;}printf(*%d\n*,bit_count);for(i=0;i<bit_count;++i)printfC%d*,result[i]);printf('\n");exit(0);}四位數(shù)拆分輸入ー個(gè)四位數(shù),判斷千位、百位、十位和個(gè)位數(shù)字之和是否為偶數(shù),如果是,輸出Yes,如果不是,輸出No;如果不是四位數(shù),輸出Invaliddata。finclude<stdio.h>voidmain(){intx,a,b,c,d,e;scanfC%d”,&x);if(x/1000<lI|x/10000>=l)printf("Invaliddata\n");else{a=x/1000;b=x%1000/100;c=x%1000%100/10;d=x%1000%100%10;e=(a+b+c+d)%2;if(e=0)printfC'Yes\n");elseprintf("No\n");}}磨磨你的砍柴刀:判斷三角形的形狀要求:輸入三角型的三條邊,判斷三角形的形狀。假設(shè)輸入的三邊邊長(zhǎng)均>0。輸入:三角型的3條邊的長(zhǎng)度(int型)。輸出:等邊三角形:equilateraltriangle.等腰三角形:isocelestriangle,不構(gòu)成三角形:non-triangle,一般三角形:triangle.開includeくstdio.h>voidmain(){floata,b,c;scanf&a,&b,&c);if(a+b<c||b+c<a||c+a<b)printf("non-triangle.\n");elseif(a==b&&b==c)printf("equilateraltriangle.\n");elseif(a==bIIb==cIIa==c)printf("isocelestriangle.\n");elseprintf("triangle.\n");}字符加密輸出從鍵盤上輸入ー個(gè)字符,進(jìn)行加密以后再輸出在屏幕上。加密規(guī)律是:輸入小寫英文字母時(shí),輸入a輸出Z、輸入b輸出丫、輸入c輸出X、...、輸入z輸出A。輸入大寫英文字母時(shí),將該字母ASCI!碼值再加上該值的1/2后輸出所對(duì)應(yīng)的字符,例如數(shù)字A的ASCII碼值是65,加上其值的1/2后是98(小數(shù)四舍五入),則輸出字符‘b'。輸入數(shù)字時(shí),將該數(shù)字原ASCII碼值再加上該值十進(jìn)制的十位上的數(shù)后輸出,例如數(shù)字9的ASCII碼值是57,加上十位上的數(shù)5后是62,則輸出字符ッ'。輸入其他字符時(shí)原樣輸出。友情提示:整數(shù)之間運(yùn)算的結(jié)果要取整,例如5/2的結(jié)果是2,而5.0/2.0對(duì)小數(shù)四舍五入的結(jié)果就是3.0了。所以輸入大寫英文字母時(shí)的輸出要仔細(xì)考慮。#include<stdio.h>intmain(){charch;inta;-5-ch=getchar();if(ch>=97&ach<=122){ch=187-ch;putchar(ch);}elseif(ch>=65&&ch<=90){a=ch%2;if(a==l)(char)a=(ch+1)/2+ch;else(char)a=ch/2+ch;putchar(a);}elseif(ch>=48&&ch<=57){ch=ch/10+ch;putchar(ch);}elseputchar(ch);printf("\n");}判斷某年某月的天數(shù)一年有365天,有的月份有31天,有的有30天,2月份閏年的時(shí)候是29天,非閏年的時(shí)候是28天?,F(xiàn)在要求從鍵盤上輸入一個(gè)年份和月份,輸出其對(duì)應(yīng)的天數(shù)。^include<stdio.h>main()tintyear,month,days;scanf("%d%d",&year,&month);switch(month)(case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if((year%4==0)&&(year%100!=0)||(year%400==0))days=29;elsedays=28;}printf("%d\n”,days);}花多少錢買衣服周末商場(chǎng)促銷呢,某品牌服裝既可以買套裝,也可以買單件。若買的不少于5。套,每套80元;不足50套的每套90元,只買上衣每件60元,只買褲子每條45元。編寫程序,輸入計(jì)劃購(gòu)買的上衣數(shù)量a和褲子的數(shù)量b,計(jì)算并輸出應(yīng)該付的款m〇#include<stdio.h>voidmain(){inta,b,y;scanf("%d%d”,&a,&b);if(b<=a&&b<50)y=90*b+(a-b)*60;if(b<=a&&b>=50)y=80*b+(a-b)*60;if(a<b&&a<50)y=90*a+(b-a)*45;if(a<b&&a>=50)y=80*a+(b-a)*45;printfC%d\n*,y);}到郵局去寄包裹你去郵局給朋友寄禮物。發(fā)現(xiàn)郵局對(duì)郵寄包裹的費(fèi)用是這樣規(guī)定的:如果包裹長(zhǎng)寬高任意ー個(gè)尺寸超過1米,或重量超過30千克,不ア郵寄;對(duì)可以郵寄的包裹每件收手續(xù)費(fèi)0.2元,不同重量的郵資按下表計(jì)算:重量(千克)收費(fèi)標(biāo)準(zhǔn)(元)小于1〇〇.80大于等于1〇但不超過200.75大于等于20但不超過300.70編寫程序,輸入包裹的長(zhǎng)、寬、高尺寸和重量,輸出所需的郵資(輸出結(jié)果中包含兩位小數(shù)即可),超出尺寸或重量的輸出"Error”.#include<stdio.h>voidmain(){floata,b,c,m,y;scanf("%f,%f,%f,%fz/,&a,&b,&c,&m);if(a>l||b>l||c>l|m>30)printf("Error\n");else{-6-if(m<10)y=0.80*m+0.2;elseif(m<20)y=0.75*m+0.2;elsey=0.70*m+0.2;printf("%.2f\n",y);}}輸入用數(shù)字(1一7)表示的星期幾,輸出星期幾的英文表示,輸入的數(shù)字有誤,輸出單詞“Error(回車)"。tinclude<stdio.h>voidmain(){inta;scanf("%d",&a);switch((int)(a)){case1:printf(〃Monday'n");break;case2:printf(Fuesday\n,z);break;case3:printf<Wednesday、イ');break;case4:printf("Thursday\n");break;case5:printf("Friday\n");break;case6:printf("Saturday\n");break;case7:printf("Sunday\n");break;default:printf("Error\n");}}1輸出一行星號(hào)編寫程序在一行中輸出N個(gè)星號(hào)。輸入:N值輸出:一行中N個(gè)星號(hào)#include<stdio.h>intmain(){intn,i;scanf("%d",&n);for(i二〇;iくn;i++)putchar('*');putchar('\n');return0;}5.2打印平行四邊形輸入圖形的高n和首字符c,輸出如下例(n=5,c='バ)所示的圖形.ABCDEBCDEFCDEFGDEFGHEFGHI輸入:整數(shù)n例如5和某個(gè)字符例如A輸出:高為5和首字符A的平行四邊形#include<stdio.h>voidmain(){intn,m,i,d;charp,t;scanf("%d,%c",&n,&p);for(m=0;mくn;m++){for(i=0;i<m;i++){printf("");}for(d二〇;dくn;d++){t=p+d+m;printf("祝",t);}for(i=0;i<n-m-l;i++){printf("");}printf("\n");}}5.3空心的倒三角型背景:請(qǐng)根據(jù)要求打印可空心倒三角形。輸入:輸入三角形的高度(h>0)〇輸出:打印相應(yīng)的空心倒三角形。圖樣參見測(cè)試用例。^include<stdio.h>#include<stdlib.h>intmain(){inth,i,j,k,m,n;scanf("%d",&h);if((h>l)&&(h%2!=〇)){-7-for(i=l;i<=(2*h-l);i++){printf("*");}printf("\n");for(j=l;j<=(h-2):j++){for(k=l;k<=j;k++){printf("つ;}printf("*");for(m=l:m<=(2*h-3-2*j);m++){printf("");}printf("*");printf("\n");}for(n=l;n<=(h-l);n++){printf,);}printf('*\n");}elseprintf("Invalidinput\n");return0;}選做5.4打印實(shí)心正方形5.1題中你已經(jīng)打印了一行?號(hào),這次在屏幕上輸出一個(gè)由星號(hào)組成的n行n列的正方形。程序輸入n值,輸出如下例(n=4)所示的高和上底均為n的正方形:********Sinclude<stdio.h>^include<stdlib.h>intmain(){inta=l,n,b;scanf("%d",&n);while(a<=n){b=l;do{printf("*");b++;}while(b<=n);printf("\n");a++;}return0;}選做5.5空心字符菱形輸入:菱型起始字母和菱形的高度。輸出:參看測(cè)試用例,打印空心的由字符組成的菱形。#include<stdio.h>^include<stdlib.h>intmain(){charch;intn,a=l,b,c;scanfC%c%d*,&ch,&n);while(a<=n){b=l;while(b<=n-a){printf(*");b++;}printfch);c=l;if(a>=2)(while(c<=2*a-3){printf("");c++;}printfぐ%c”,ch);}-8-ch=ch+l;printf(〃、n");a++;}a=l;ch=ch-2;while(a<=n-l){b=l;while(b<=a){printfC、、b++;}printfch);c=l;if(a<=n-2){while(c<=2*n-2*a-3){printf("");c++;}printfch);}ch=chT;printf('\n");a++;}return0;}輸入ー個(gè)整數(shù)n,輸岀圖形K。如n=4時(shí),輸出如下圖形。************ttinclude<stdio.h>#include<stdlib.h>intmainO{intn,i=l,j;scanf("%d",&n);while(i<=n-l){j=l;printf("*");while(j<=n-i){printf(*つ;j++;}printf(、、n");i++;}printff*\n");i=l;while(i<=n-l){j=l;printf("*");while(j<=i){printf(*");j++;}printf("*\n");i++;}return0;}選做5.7輸出X圖形輸入n值,輸出下例(n=3)所示的圖形:*********輸入:整數(shù)n(例如3)輸出:如上圖所示X形圖形tinclude<stdio.h>#include<stdlib.h>intmain(){intn,i=l,j,k;-9一scanf&n);while(iく=nT){j=l;while(j<=i-l){printfC0;j++;}printf(〃*〃);k=l;while(k<=2*n-2*i-l)(printfCつ;k++;}printfぐ*");j=l;while(j<=i-l){printf("");j++;}printf('\n");i++;}i=l;while(i<=n-l){printf("");i++;}printfぐ*");i=l;while(i<=n-l){printf("");i++;}printf("\n");i=l;while(i<=n-l){j=l;while(j<=n-i-l){printf("");j++;}printfぐ*");k=l;while(k<=2*i-l){printf("");k++;}printfぐ*");j=l;printfC0;j++;}printf(〃、n");i++;}return0;}選做5.8輸出圖形編程,輸入n值,輸出下例(n=5)所示的高為n的圖形:#include<stdio.h>^include<stdlib.h>intmain(){intn,i=l,j,k,1;scanf("%d",&n);while(i<=n-l){j=l;while(j<=i){printf("*〃);j++;}k=l;while(k<=2*n-2*i-1){-10-printfC、、k++;}1=1;while(K=i){printf。*");1++;}printf("\n");i++;}i=l;while(i<=2*n-l){printf("*");i++;}printf("\n");return0;}選做5.9畫個(gè)空心的梯形吧編程,輸入n,輸出如下例(n=5)所示的高和上底均為n的等腰空心梯形。^include<stdio.h>ttinclude<stdlib.h>intmain(){intn,i=l,j,k;scanf("%d",&n);while(i<=n){while(j<=n-i){printf(*");j++;}printf("*");if(i==l){for(k=l;k<=n-2;k++)printf(〃*");}elseif(i==n){for(k=l;k<=3*n-4;k++)printf(〃?〃);}else{for(k=l;kく=n+2*i-4;k++)printf(*");}printfぐ?〃);j=l;while(j<=n-i){printfC");j++;)printf("\n");i++;}return0;}選做5.10輸出菱形圖案輸入n?輸出如下例(n=3)所示的菱形:*************ftinclude<stdio.h>ttinclude<stdlib.h>intmainO{intn,i,j,k;scanf("%d〃,&n);for(i=l;i<=n;i++){for(j=l;j<=n-i;j++){printf(?つ;}for(k=l;k<=2*i-l;k++){-11-printf("*");}for(i=l;i<=n-l;i++){for(j=l;j<=i;j++){printf(*");}for(k=l;k<=2*n-2*i-l;k++){printf(〃*〃);}printf("\n");}return0;}5.11最大公約數(shù)輸入兩個(gè)正整數(shù)m和n,求它們的最大公約數(shù)和最小公倍數(shù)比如,輸入m和n的值分別為14和21,則最大公約數(shù)為7,最小公倍數(shù)為42。#include<stdio.h>voidmain(){intm,n,i,j;scanf("%d%d”,&m,&n);for(i=m;i>=l;i--){if(n%iニニ0&&m%i==0){printf("thegreatestcommondivisoris%d\n",i);break;}}for(j=m;;j++){if(j%mニニ0&&j%nニニ〇){printf("theleastcommonmultipleis%d\n",j);break;}}}5.12水仙花數(shù)輸出所有的水仙花數(shù)。所謂的水仙花數(shù)是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是?水仙花數(shù),因?yàn)?53二13+53+33輸出語句:printf("%d\n",n);^include<stdio.h>voidmain(){intn,i,j,k;for(n=100;nく=999;n=n+1){}i=n/100;//取出n的百位數(shù)j=(n/10)%10;/Z取數(shù)n的十位數(shù)k=n%10;//取出n的個(gè)位數(shù)if(n==i*i*i+j*j*j+k*k*k)printf("%d\n",n);}ー個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為完數(shù)。例如,6的因子為1,2,3,且6=1+2+3,因此6是完數(shù),從鍵盤上輸入ー個(gè)正整數(shù),判斷其是否為完數(shù)。如果是,則按照如下格式輸出。比如,輸入6,則輸出Yes,itsfactorsare123:如果輸入8,則輸出No#include<stdio.h>#include<math.h>intmain(){intn,i,c,sum=0;scanf("%d",&n);for(i=l;i<n;i++){if(n%i==0)sum=sum+i;}if(n==sum){printf(zzYes,itsfactorsareつ;for(c=l;c<n;c++){if(n%c==0)printf('%d",c);}printf("\n");-12-}elseprintf("No\n");}14素?cái)?shù)輸入兩個(gè)正整數(shù)m和n,求出[m,n]區(qū)間的所有素?cái)?shù)ttinclude<stdio.h>#includeくmath.h>voidmain(){intm,n,i,j,k;scanf("%d%d”,&m,&n);for(i=m;i<n;i++){k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>k)printf('%d",i);}printf("\n");}找出最大素?cái)?shù)素?cái)?shù)是指ー個(gè)只能被1和它本身整除的數(shù),在數(shù)論中占有重要的研究地位,在當(dāng)代密碼學(xué)中也被廣泛應(yīng)用。輸入:取值范圍輸出:該范圍內(nèi)的最大素?cái)?shù)#include<stdio.h>intmainO{inta,i,j;scanf(〃%d”,&a);for(i=a;i>l;iーー){for(j=2;j<i;j++){if(i%j==O)break;}if(j==i){printf("%d\n",i);break;回文數(shù)輸入一個(gè)數(shù),判斷是否為回文數(shù),如果是,輸出Yes,否則輸出No#include<stdio.h>#include<stdlib.h>#include<string.h>char*chan(intcount);intmain(intargc,char*argv[]){char*str;inti,n;str=chan(0);n=strlen(str);for(i=0;i<(n-l)/2;i++){if(str[i]!=str[n-l-i]){n=0;break;}}if(n){printf("Yes\n");}elseprintf("No\n");free(str);system("pause");return0;}char*chan(intcount){chara;staticchar*p;if((a=getchar())!-\n){count++;chan(count);}else{p=malloc(sizeof(char)*(count+1));*(p+count)=0;returnp;-13一)*(p+countT)二a;returnp;}自守?cái)?shù)是指ー個(gè)數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。例如252=625,762=5776。輸入一個(gè)自然數(shù),判斷其是否為自守?cái)?shù)。如果是,則輸出Yes,否則輸出No^include<stdio.h>^include<stdlib.h>intmainO{intn,i,j,a=0,b=l,c;scanf&n);i=n*n;j=i-n;while(n>0){n=n/10;a++;}for(c=l;c<=a;c++){b=b*10;}if(j%b=O)(printf("Yes\n");}else{printf(*No\nO;}return0;}選做5.18求親密數(shù)若正整數(shù)A的全部約數(shù)(包括1,不包括A本身)之和等于B;且整數(shù)B的全部約數(shù)(包括1,不包括B本身)之和等于A,則A、B為親密數(shù)。編程,輸入正整數(shù)A,輸出親密數(shù)A,B(ACB),若不存在親密數(shù),則輸出Nooutput〇例如:220和284就是ー對(duì)親密數(shù)。220的約數(shù)是:1、2、4、5、10、11、20、22、44、55、I10,約數(shù)之和是284;284的約數(shù)是:1、2、4、71、I42,約數(shù)之和是220。tinclude<stdio.h>ttinclude<stdlib.h>intmainO{intn,a,b=0,c=0;scanf("%d",&n);for(a=l;a<n;a++){if(n%a=0){b=a+b;}}for(a=l;a<b;a++){if(b%a==0){c=c+a;}}if(n==c){printf("%d-%d\n”,c,b);}else{printf(Nooutput\n〃);}return0;}選做5.19高次方的尾數(shù)輸入2個(gè)正整數(shù)m和n,求mn后三位數(shù)。比如輸入m和n的值分別為13和13,則1313的后三位數(shù)字為253。sinclude<stdio.h>^include<stdlib.h>intmain(){intm,n,a,b=l,c;scanf(^d%d*,&m,&n);for(a=l;a<=n;a++)-14-(b=b*m;b=b%100〇;}printf(Z/Thelast3digitsof%d**%dis:%d\n”,m,n,b);return0;}選做5.20階乘尾數(shù)零的個(gè)數(shù)輸入ー個(gè)正整數(shù)n,求其階乘尾數(shù)〇的個(gè)數(shù)。比如,輸入n的值為100,則其階乘尾數(shù)〇的個(gè)數(shù)為24。tinclude<stdio.h>ttinclude<stdlib.h>intmain(){intn,a,b,c;scanf("%d",&n);a=n/25;b=n/5;c=a+b;printf(z,Thenumberof0intheendof%d!is:%d.\nzz,n,c);return0;}5.21看看是誰做的好事某四位同學(xué)中有一個(gè)做了好事,不留名,表揚(yáng)信來了,校長(zhǎng)問是誰做的好事.以下四個(gè)人中有三個(gè)人說的是真話.A說:不是我B說:是CC說:是DD說:他說的不對(duì)!編寫程序:輸出是誰做的好事,只輸出對(duì)應(yīng)的大寫字母,輸出格式printf("%c\n",ch);〇#include<stdio.h>ttinclude<stdlib.h>intmain(){charch;for(ch二'A';chくニ'D';ch++){if(chニニ'A'&&chニニ’C'&&chニニ'D'&&ch!二'D')printf("機(jī)、n”,ch);if(ch!='A'&&ch!二'C'&&chニニ'D'&&ch!='D')printf("%c\n",ch);if(ch!二'A'&&chニニ'C'&&ch!='D'&&ch!二'D')printf("%c\n",ch);if(ch!=,A'&&chニニ'C'&&chニニ'D'&&chニニ'D')printf("%c\n",ch);}}5.22貪吃的猴子有一只猴子,第一天摘了若干個(gè)桃子,當(dāng)即吃了一半,但還覺得不過癮,就又多吃了ー個(gè)。第2天早上又將剩下的桃子吃掉一半,還是覺得不過癮,就又多吃了兩個(gè)。以后每天早上都吃了前一天剩下的一半加天數(shù)個(gè)(例如,第5天吃了前一天剩下的一半加5個(gè))。到第n天早上再想吃的時(shí)候,就只剩下ー個(gè)桃子了。輸入:天數(shù)n輸出:第一天的桃子個(gè)數(shù),輸出語句為printf("Themonkeygot%dpeachsinfirstday.\n,sum);Smaple:Input:5OutputThemonkeygot114peachsinfirstday.#include<stdio.h>#include<stdlib.h>intmain(){intn,i;longintm=l;scanf("%d",&n);for(Rl;iく二nT;i++){m=(n-i+m)*2;}printf("Themonkeygot%dpeachsinfirstday.\n〃,m);return0;}5.23百馬百擔(dān)有100匹馬,馱100擔(dān)貨,其中大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān)輸入:無輸出:大、中、小馬的個(gè)數(shù),用逗號(hào)分隔。例如:2,30,68-15-說明:大、中、小馬都必須有,結(jié)果中要列出所有的組合可能每個(gè)結(jié)果占一行因?yàn)橛卸鄠€(gè)結(jié)果,結(jié)果的排序按照大馬的個(gè)數(shù)從少到多tinclude<stdio.h>voidmain(){intx,y,z;for(x=l;x<33;x++)for(y=l;y<50;y++){z=(100-3*x-2*y)*2;if(x+y+z==100)printf(*%d,%d,%d\n*,x,y,z);}}5.24四大湖問題我國(guó)有4大淡水湖。A說:洞庭湖最大,洪澤最小。鄱陽湖第三。B說:洪澤湖最大,洞庭湖最小,鄱陽湖第二。太湖第三。C說:洪澤湖最小,洞庭湖第三。D說:鄱陽湖最大,太湖最小,洪澤湖第二,洞庭湖第三。4個(gè)大每人僅答對(duì)了一個(gè),請(qǐng)你編程給出4個(gè)湖從大到小的順序。ttinclude<stdio.h>ftinclude<stdlib.h>intmain(){inta,b,c,d;for(a=l;a<=4;a++)for(b=l;b<=4;b++){if(b==a)continue;for(c=l;c<=4;c++){if(c==a||c==b)continue;for(d=l;d<=4;d++){if(d==aIId==b||d==c)continue;if((b==lId==41Ia==3)==1&&(d==l||b==4,|a=21c==3)==l&&(d==41|b==3)==l&&(a==11|c==41|d==2I|b==3)=1)(if(a=l)printf("鄱陽湖、n");if(a==2)printf(〃鄱陽湖、n”);if(a==3)printf(〃鄱陽湖、n");if(a==4)printf(〃鄱陽湖、n”);if(b==l)printf("洞庭湖、n");if(b=2)printf("洞庭湖、n〃);if(b==3)printf("洞庭湖、n");if(b==4)printf("洞庭湖、n");if(c==l)printf("太湖、n");if(c==2)printf("太湖、n");if(c==3)printf("太湖、n");if(c==4)printf("太湖、n");if(d==l)printf("洪澤湖、n");if(d==2)printf("洪澤湖、n");if(d==3)printf("洪澤湖、n");if(dニニ4)printf("洪澤湖、n");break;}}break;}break;}return0;}選做5.25黑色星期五在西方,星期五和數(shù)字13都代表著壞運(yùn)氣,兩個(gè)不幸的個(gè)體最后結(jié)合成超級(jí)不幸的一天。所以,-16-不管哪個(gè)月的13日又恰逢星期五就叫“黑色星期五”。輸入某年年號(hào)和該年的元旦是星期幾(1-7),輸出該年所有的“黑色星期五”的日期(年/月/日)。輸入:4位年號(hào)和該年元旦是星期幾輸出:所有的“黑色星期五”的日期(年/月/日)#include<stdio.h>#include<stdlib.h>intmain(){inty,m,d,x;scanf("%d%d",&y,&x);for(m=l;m<=12;m++){if(m==lI|m==31|m==51|m--71|m==81|m-101|m==12)for(d=l;d<=31;d++){if(d==13&&x==5)printf(W%d/%d\n*.y,m,d);x++:if(x==8)x=l;}}if(m==4||m-6||m==9|m==ll){for(d=l;d<=30;d++){if(d==13&&x==5)printf("刎/%d/%d\n”,y,m,d);x++;if(x==8)x=l;}}if(((y%4==0&&y%100!=0)||y%400==0)&&m==2){for(d=l;d<=29;d++)(if(d==13&&x==5)printf("%d/%d/%d\n",y,m,d);x++;if(x==8)x=l;}}if(y%4!=0&&m==2){for(d=l;d<=28;d++){if(d==13&&x==5)printf("%d/%d/%d\n",y,m,d):x++;if(x==8)x=l;}}}return0;}選做5.26抓疑犯某地刑偵大隊(duì)對(duì)涉及六個(gè)嫌疑人的ー樁疑案進(jìn)行分析:(1)A、B至少有一人作案;(2)A、E、F三人中至少有兩人參與作案;(3)A、D不可能是同案犯;(4)B、C或同時(shí)作案,或與本案無關(guān);(5)C、D中有且僅有一人作案;(6)如果D沒有參與作案,則E也不可能參與作案。試編ー程序,將作案人找出來。輸出格式為(以下結(jié)果不是最終答案):A:不是罪犯B:是罪犯C:是罪犯D:不是罪犯E:不是罪犯F:是罪犯#include<stdio.h>^include<stdlib.h>-17-intmain(){intA,B,C,D,E,F:for(A=0;A<=1;A++)for(B=0;B<=1;B++)for(C=0:C<=1;C++)for(D=0;D<=1;D++)for(E=0;E<=1;E++)for(F=0;F<=1;F++)if(A+B>=l&&A+E+F>=2&&A+D==l&&(B+C==0||B+C==2)&&C+D==1&&(D+E==O||D+E==2)){if(A==l)printf("A:是罪犯、n");if(A==O)printf("A:不是罪犯、n");if(B==l)printf("B:是罪犯'n");if(B==O)printf("B:不是罪犯'n");if(C==l)printf("C:是罪犯'n");if(C==O)printf("C:不是罪犯'n");if(D==l)printf("D:是罪犯'n");if(D==0)printf("D:不是罪犯、n");if(E==l)printf("E:是罪犯、n");if(E=O)printf("E:不是罪犯'n");if(F=l)printf("F:是罪犯'n");if(F==O)printf("F:不是罪犯'n");}return0;}選做5.2?零錢換整錢小明去銀行存錢,拿了一堆硬幣。已知1角的硬幣厚度為L(zhǎng)8nun,5角的硬幣厚1.5mm,1元的硬幣為2.0mm。小明將1角的硬幣放成一摞,將5角的硬幣硬幣放成ー摞,將1元的硬幣放成一摞,發(fā)現(xiàn)3摞硬幣ー樣高。銀行正好把這些硬幣換成若干張面值為10元的紙幣。問小明至少帶了多少錢的硬幣(元為單位),每種面值的硬幣有多少個(gè)?輸入:無輸出:1角的數(shù)量,5角的數(shù)量,1元的數(shù)量,總金額。(例如:20,30,40,50)說明:在結(jié)果中只輸出各個(gè)對(duì)應(yīng)的數(shù)字即可Sinclude<stdio.h>^include<stdlib.h>intmain(){inta,b,c,d;for(a=l;a<=100;a++)for(b=l;b<=100;b++)for(c=l;c<=100;c++)if(2〇?a==15*b&&2〇?a==18*c){d=(a*10+b*5+c)%100;if(d!=0)break;d=(a*10+b*5+c)/10;printf(*%d,%d,%d,%d\n*,c,b,a,d);}return0;}選做5.28馬戲團(tuán)觀眾人數(shù)一個(gè)馬戲團(tuán)表演,n個(gè)座位全滿,全部門票收入是120元,現(xiàn)在知道,男人每人5元,女人每人2元,小孩每人1角。編程,輸入總?cè)藬?shù)n,輸出滿足要求的男人、女人和小孩人數(shù)的全部方案。若n人ー18-無法滿足條件,則輸出“NooutputXn"〇輸入:人數(shù)n輸出:男人、女人和小孩人數(shù)ftinclude<stdio.h>#include<stdlib.h>intmainO(intn,a,b,c;scanf("%d",&n);for(a=0;a<=24;a++)for(b=0;b<=(120-5*a)/2;b++)for(c=0;c<=(120-5*a-2*b)*10;c++)if(5*a+2*b+c/10==120&&a+b+c=n)printf("%d%d%d\n*,a,b,c);return0;}選做5.29愛因斯坦的數(shù)學(xué)題愛因斯坦出了一道這樣的數(shù)學(xué)題:有一條長(zhǎng)階梯,若每步跨2階,則最后剩ー階;若每步跨3階,則最后剩2階;若每步跨5階,則最后剩4階;若每步跨7階,最后才正好一階不剩。請(qǐng)問,這條階梯共有多少階?輸出語句格式為:printf("Stairsnumber=%d\n",number);^include<stdio.h>ftinclude<stdlib.h>intmain(){intnumber;for(number」;number<=1000;number++)if(number%2==l&&number%3==2&&number%5==4&&number%7==0){printf("Stairsnumber=%d\n",number);break;}return0;}選做5.30抓交通肇事犯ー輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場(chǎng)有三人目擊事件,但都沒有記住車號(hào),只記下車號(hào)的ー些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同;丙是位數(shù)學(xué)家,他說:四位的車號(hào)剛好是ー個(gè)整數(shù)的平方,請(qǐng)根據(jù)以上線索求出車號(hào)。finclude<stdio.h>#include<stdlib.h>intmain(){inta,b,c,n;for(a=0;aく=9;a++)for(b=0;b<=9;b++)if(a!=b){n=1100*a+ll*b;for(c=30;c<1000;c++)if(n=c*c)printf(zzThelicenseplateis:%d\n,n);}return0;}5.31求和輸入整數(shù)m和正整數(shù)n,按下列公式計(jì)算s:s=m-(m+1)+m+2-(m+3)+,ハ,+(-l)n(m+n)〇輸入:m和n輸出:sttinclude<stdio.h>intmain(){inti,sign=l,m,n,s=0,t;scanf("%d%d”,&m,&n);for(i=0;iく=n;i++){t二sign*(m+i);sign二一sign;s=s+t;}printf("s二%d\n〃,s);}5.32計(jì)算SUM的值已知公式:SUM=1+1/2+1/3+1/4+...+1/n輸入:n輸出:表達(dá)式sum的值。結(jié)果保留6位小數(shù)一19-ftinclude<stdio.h>intmain(){inti,n;floats=0.0,t;scanf("%d",&n);for(i二1;iく二n;i++){t=l.0/i;s+=t;}printf("sum=%.6f\n,s);return0;}5.33迭代法用迭代法求,求平方根的迭代公式為:要求前后兩次求出的x的差的絕對(duì)值小于10-5〇#include<stdio.h>#include<math.h>intmain(){doublexl,x2,a;scanf("%lf",&a);{x2=l.0;do{xl=x2;x2=0.5*(xl+a/xl);}while(fabs(x2-xl)>=le-5);printf(*Thesquarerootof%.2fis%.5f\n”,a,x2);}return0;}5.34分?jǐn)?shù)序列有一個(gè)分?jǐn)?shù)序列: 輸入整數(shù)n,求出其前n項(xiàng)的和。輸出語句格式為:printf(/zsum=%16.10f\nzz,s);#include<stdio.h>intmain(){inta,b,c,n,i;doubles;}scanf("%d〃,&n);a=2,b=l,s=0;for(i=l;i<=n;i++){s+=(l.0*a/b);c=b;b=a;a=a+c;}printf(*sum=%16.10f\n",s);return0;5.35求)的值編寫程序,從鍵盤輸入整數(shù)n,求e的值.e=l+l/l!+l/2!+l/3!+..+l/n!注意:用double型數(shù)據(jù)計(jì)算輸出語句:printf("e=%lf\n",e);#include<stdio.h>intmain()(doublee=l.0,f=l.0;intn,i;scanf("%d",&n);for(i=l;i<=n;i++){f=f/i;e=e+f;}printf("e=%lf\n”,e);}5.36編程計(jì)算編寫程序,輸入n的值,求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+l/n(保留四位小數(shù))ftinclude<stdio.h>intmain(){inti,sign=1,n;floats=0.0,t;scanf(“刎",&n);for(i=1;i<=n;i++){t=1.0/(sign*i);sign=-sign;s+=t;}printf("sum=%.4f\n",s);return0;}37cos(x)-x=0-20-利用以下所示的簡(jiǎn)單迭代方法求方程:cos(x)-x=o的ー個(gè)實(shí)根。Xn+l=cos(Xn)迭代步驟如下:(D取XI初值為0.0;(2)XO=X1,把XI的值賦給X0;(3)Xl=cos(X0),求出ー個(gè)新的XI;(4)若X0-X1的絕對(duì)值小于0.000001?執(zhí)行步驟(5),否則執(zhí)行步驟(2);(5)所求XI就是方程cos(X)-X=0的ー個(gè)實(shí)根,輸出X0,輸出語句為printf("x=%f",x):〇#include<stdio.h>#include<math.h>intmain(){doublexl,x2;scanf("%d\n",&xl);x2=cos(xl);while(fabs(x2-xl)>0.000001){xl=x2;x2=cos(xl);}printf("x=%f\n",x2);}選做5.38SIX+SIX+SIX=NINE+NINE計(jì)算出自然數(shù)SIX和NINE(它們滿足的條件是SIX+SIX+SIX=NINE+NINE)的個(gè)數(shù)ent〇其中的S,1,X,N,E各代表ー個(gè)十進(jìn)制數(shù)字。輸出語句:printf("cnt=%d\n",ent);ftinclude<stdio.h>#include<stdlib.h>intmain(){intS,I,X,N,E,cnt=0;for(S=l;S<=9;S++)for(1=0;I<=9;1++)for(X=0;X<=9;X++)for(N=1;N<=9;N++)for(E=0;E<=9;E++)if(3*(100*S+10*I+X)==2*(1010*N+100*1+E))cnt++;printf("cnt=%d\n",ent);return0;}選做5.39C減式編程,求解下列算式中各字母所代表的數(shù)字并輸出。PEAR-ARA PEA#include<stdio.h>ttinclude<stdlib.h>intmain(){intp,e,a,r,n,c,b;for(n二1000;nく二9999;n++){p=n/1000;e=n/100%10;a=n/10%10;r=n%10;c=101*a+10*r;b=100*p+10*e+a;if(n-c==b)break;}printf("pear二%d\n”,n);return0;}選做5.40求A的值求滿足A*B=N,使A+B最小,且A,B(A〈二B)為正整數(shù)的A的值。輸入:正整數(shù)N輸出:滿足條件的A^include<stdio.h>^include<stdlib.h>#include<math.h>intmain(){intn,a,b,i,j;scanf("%d",&n);a=sqrt(n);b=sqrt(n);for(i=a;i>=0;i—){for(j=b;j<=n;j++)-21-{if((n==i*j)&&(n%i==0)&&(n%j==0)&&(i+j>=2*a))break;}if((n==i*j)&&(n%i==0)&&(n%j==0)&&(i+j>=2*a))break;}printf("%d\n",i);return0;}選做5.41求一個(gè)三位數(shù),其值等于其各位階乘之和編寫程序,求某三位數(shù),該數(shù)值的大小正好是組成這個(gè)數(shù)的三個(gè)位上的數(shù)字階乘之和。輸出格式:printf("%d\n",num);#includeくstdio.h>intmain(){inta,b,c,i,j,k,si,s2,s3;for(a=1;aく=9;a++)for(b=l;b<=9;b++)for(c=l;c<=9;c++){sl=l;s2=l;s3=l;for(i=l;i<=a;i++)si?二i;for(j=l;j<=b;j++)s2*=j;for(k=l;k<=c;k++)s3*=k;if(100*a+10*b+c==sl+s2+s3)printf("%d\n”,sl+s2+s3);}}選做5.42誰的飯量大3個(gè)人比飯量大小,每人說了2句話。A說:B比我吃得多,C和我吃得一樣多。B說:A比我吃得多,A也比C吃得多。C說:我比B吃得多,B比A吃得多。事實(shí)上飯量越小的人講對(duì)的話越多。請(qǐng)編寫程序按A、B、C的順序輸出3個(gè)人的飯量排名(排名越大,飯量越大)〇#include<stdio.h>voidmain(){intA,A1=O,B,B1=O,C,C1=O;for(A=0;A<3;A++)for(B=0:B<3;B++)for(C=0:C<3;C++){Al+=B-A>O?1:O;A1+=(C==A?1:O):Bl+=A-B>O?1:O;B1+=A-C>O?1:0;Cl+=C-B>0?l:0;C1+=B-A>O?1:O;if((A-C)*(C1-A1)>O|I(A-C==0&ftC1-A1==0))if((B-C)*(C1-B1)>O||(B-C==O&&C1-Bl==0))if((B-A)*(Al-Bl)>0|I(B-A==O&&A1-B1=O)){printf("A:%d\n”,A+l);printf("B:%d\n”,B+l);printf(*C:%d\n*,C+l);}Al=0;Bl=0;Cl=0;}}選做5.43跳水排名五位跳水選手將參加10m高臺(tái)跳水,有好事者讓5人據(jù)實(shí)カ預(yù)測(cè)比賽結(jié)果。A選手說:B第二,我第三。B選手說:我第二,E第四。C選手說:我第一,D第二。D選手說:C最后,我第三。E選手說:我第四,A第一。決賽成績(jī)公布之后,每位選手的預(yù)測(cè)都只說對(duì)一半,清編程輸出比賽的實(shí)際名次。finclude<stdio.h>voidmain(){inta,b,c,d,e;for(a=l;a<=5;a++)for(b=l;b<=5;b++)for(c=l;c<=5;c++)for(d=l;d<=5;d++)for(e=l;e<=5;e++)if((b=2)+(a==3)==l&&(b=2)+(e=4)=1&&(c=l)+(d=2)==1&&(c=5)+(d=3)=1&&(e=4)+(aニニ1) !=b&&a!二c&&a!二d&&a!二e&&b!二c&&b!二d&&b!二e&&c!二d&&c!=e)//printfぐ%d%d%d%d%d\n*,a,b,c,d,e);printf("第一名是B\n第二名是D\n第三名是A\n第四名是E\n第五名是C\n") 22-選做5.44誰是最好的賽車4名專家對(duì)4款賽車進(jìn)行評(píng)論。A說:2號(hào)賽車是最好的。B說:4號(hào)賽車是最好的。C說:3號(hào)不是最佳賽車。D說:B說錯(cuò)了。事實(shí)上只有一款賽車最佳,且只有一名專家說對(duì)了,其他3人都說錯(cuò)了。請(qǐng)編程輸出最佳車的車號(hào),以及哪位專家說對(duì)了。Sinclude<stdio.h>intmainO{inti,j,t:for(i=l:i<=4;i++){t=(i==2)+(i==4)+(i!=3)+(i!=4);if(t==l)break;}printf("%d號(hào)賽車是最佳賽車'n”,i);if(i==2)printf("A說對(duì)了");if(i==4)printf("B說對(duì)了");if(i!=3)printf("C說對(duì)了");if(i!=4)printf("D專家說得對(duì)、n");return0;}選做5.46求小球彈跳的高度小球從一定的高度自由落下,每次落地后反跳回原高度的一半;再落下,編寫程序,輸入ー個(gè)高度(double類型),求它在第!0次落地時(shí),共經(jīng)過多少米?第!0次反彈多高?(輸出結(jié)果時(shí)保留2位小數(shù))^include"stdio.h"voidmain(){doubles=0.0,h;inti;scanf("%lf",&h);s=h;for(i=l;i<10;i++){s=s+h;h-h/2;}h=h/2;printf("Theis:%.31f\n",s,h);}totalis:%.31f\nThetenth選做5.47ABC各教哪門課A、B、C是小學(xué)老師,各教2門課,互不重復(fù)。共有如下6門課:語文、算術(shù)、政治、地理、音樂和美術(shù)。已知:(1)政治老師和算術(shù)老師是鄰居。(2)地理老師比語文老師年齡大。(3)B最年輕。(4)A經(jīng)常對(duì)地理老師和算術(shù)老師講他看過的文學(xué)作品。B經(jīng)常和音樂老師
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年現(xiàn)代農(nóng)業(yè)園土地流轉(zhuǎn)承包合同3篇
- 藝術(shù)活動(dòng)特色課程設(shè)計(jì)
- 汽車租賃管理課程設(shè)計(jì)
- 湘繡美術(shù)課程設(shè)計(jì)
- 藝術(shù)課創(chuàng)意游戲課程設(shè)計(jì)
- 草藥烘焙課程設(shè)計(jì)
- 紙箱印刷工藝課程設(shè)計(jì)
- 職業(yè)主題運(yùn)動(dòng)課程設(shè)計(jì)
- 育子課程設(shè)計(jì)
- 糕點(diǎn)烘焙培訓(xùn)課程設(shè)計(jì)
- 2024(部編版)道德與法治九年級(jí)上冊(cè) 第二單元 民主與法治 單元測(cè)試(學(xué)生版+解析版)
- 醫(yī)療護(hù)理員基礎(chǔ)理論知識(shí)考試試題題庫及答案
- 2024年高考英語詞匯表-帶音標(biāo)
- 墊底辣妹教育學(xué)思考(3篇模板)
- 框架結(jié)構(gòu)設(shè)計(jì)國(guó)內(nèi)外研究現(xiàn)狀
- 基因檢測(cè)銷售基礎(chǔ)知識(shí)培訓(xùn)手冊(cè)
- 創(chuàng)新人才認(rèn)證(解決方案)考試題庫(附答案)
- 新質(zhì)生產(chǎn)力-講解課件
- 湖北省隨州市曾都區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試英語試題
- 2023-2024學(xué)年人教版七年級(jí)下冊(cè)地理知識(shí)清單
- 20以內(nèi)最大最小能填幾專項(xiàng)練習(xí)126+129題
評(píng)論
0/150
提交評(píng)論