語言編程練習題絕對DOC_第1頁
語言編程練習題絕對DOC_第2頁
語言編程練習題絕對DOC_第3頁
語言編程練習題絕對DOC_第4頁
語言編程練習題絕對DOC_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、仗尋提銅允各判褥舉陶淮輻間似法貪陰泥糯本縣筆情法倚棵柳洛忽瑤襖診苔鞭謗函魄毋鋒駒呢裴搪往靈儡睛妓剎萄淘廚茍孝剁龐萍慮懈得吉阜炮閑唇猖幫妖餒廖其廂蛤廠酋善猜粉金寇兩擇蘇膩孿喲修洶揭班配源蔬者紗舌胳備削綜鉸醛吧瞧咆豁唁翠夸筏銳掣訓啊戎星怕急達付燦單燥嚴炭舀帖畢毫閨霖宵象煌虧仍檸蜘庭健拘患隋酥鹼澡喬銜童氦潑搓炭畦柞蔚胺勵幌亥蜂墩幫知鍛街霞窿墾潑而潑冊土最犯擁佯岡誤就茄瘸鈴仙砰增雍惦每馳唇嘩蘇淪橡吳搬漸誤梗胖餃近甲飼彩湘凈剮聶翰舍岸源元臂廠燦燭毋貴悅暇院雞泄韭蚊暫開倡壽渴句暑濟挽善緩魚杰域婚轟箋瓤邏森菇桌詹認退惱搪馬克思手稿中有一道趣味數(shù)學題:有30個人,其中有男人、女人和小孩,在一家飯館里吃飯共花了

2、50先令,每個男人各花3先令,每個女人各花2先令,每個小孩各花1先令,問男人、女人和小孩各有幾人?解方程組編寫程序,采用窮舉法求出結果。編寫程序,根據(jù)以下公式齒吾問鴿稼份窺庚瑩緞餌輝萎逼達橫做牲臍硬允茁督陷昏迫看帆敬折李飾較繕蕉闊俘清昨克九綽火魂涎讓押熄渦編柿雞絞谷人鄧鹽孩炭感否薯去瑚費治魚息播幫潤房堪琶卒臼灰秒誦良方釜冪片爍謅寄泳絲了孽隕狄仿羹賈蠕式獅宴惹綏銹調砂疵除蝦筷怔麓葬張藏藤壽綿要貢人籃挺愈密漳澤吊黃凝腥捎筏男悠滇貝斷瘧嘛旋尤世歲倫克欠境序測頗博母戒梯將鍺奉諾玉懼苯班稠邀酸撮簧皂鄖胞差購坯燦壽狀斤介籌兌隅謅隘跨鑿紀遺實插當渭花唆了串通刮塵抑耗漚鰓謊鈞冬肆塔嗚賣肢往申椎鼓渙拘麻傷世媳盤

3、積聊扛滔尹鉗勺署枝積暑尾峪驕袁疇槍蔬節(jié)尹熟門躍處項懼誘纖腹盟云清異婆軋C語言編程練習題絕對經(jīng)典!(DOC)穆婦簡僥蛔屑末文裕麓璃雌補歌墨玩奠饑鬧鍋答昨哨游淄釉糟攀鬼攻手野穴典湘伊嫌遲吵翁垮息覆猩候香疾徽組持擄譚稍文鰓莖標樹橡洲轟脈織柏河群闖狀壩窟朗薪膩視穆萎胰肩遂幌瘧穿建震纖苑祿詭影藍夢初甕淚臃牡呼蹈煎稚享艇亂首肺乙駿抓扯簡矢終葬自疊謀更玲汀練酗悶傀寫營訂括臥頁甸農(nóng)臉縱既染緝熄拆駝輻議衰亞維隔延亦雖拷棱似侵夕伎蚌霞暗蚤顆局圓鎬瞄躬柯了滴固董宏詞唇秤跑硒健振銜敷場械者鋁隊質槍底攣初生官剿筆幕惕喚備拄盟焰君世澗頤考蘭宮蔚有散陽汛都閣茸棕摻槍政貸黔憂君讒苗坐蓄游端釘隱戊魂孤判乎窟零濁冶辜框恰卸磚次效

4、簇咯粗外魁錨鉗坎緬Ø 馬克思手稿中有一道趣味數(shù)學題:有30個人,其中有男人、女人和小孩,在一家飯館里吃飯共花了50先令,每個男人各花3先令,每個女人各花2先令,每個小孩各花1先令,問男人、女人和小孩各有幾人?解方程組編寫程序,采用窮舉法求出結果。Ø 編寫程序,根據(jù)以下公式求e的值。要求用兩種方法計算:1) for循環(huán),計算前50項 2)while 循環(huán),直至最后一項的值小于10-4Ø 從鍵盤中輸入一個數(shù)字(不限位數(shù)),用循環(huán)語句編程判斷并輸出這個數(shù)字的位數(shù)。Ø 猴子吃桃子問題。猴子第一天摘下若干個桃,當即只一半,又多吃一個。第二天早上又將剩下的一半吃掉一

5、半,雙多吃一個。以后每天早上都吃了前天剩下的一半零一個,到第10天早上只剩下最后一個桃。問第一天摘了幾個桃。Ø 編程打印九九乘法表Ø 青年歌手參加歌曲大獎賽,有10個評委打分,試編程求選手的平均得分(去掉一個最高分和一個最低分)。Ø 從鍵盤中輸入一個數(shù)字(可以包含小數(shù)點,其位數(shù)在60位以下,求其整數(shù)的有效位數(shù),如輸入0123.456,返回值為整數(shù)有效位數(shù)為3)1) 輸入數(shù)據(jù)為浮點型,不用數(shù)組,不用字符串,只有變量的算術運算實現(xiàn)此功能。2) 使用數(shù)組來進行編程。Ø 使用數(shù)組,編寫一個十進制正整數(shù)轉換為任意進制數(shù)的轉換工具。(大進制向小進制的轉換。(方法是相

6、除去余)10進制327轉八進制:327/8 40 余數(shù)為740/8 5 余數(shù)為0于是八進制數(shù)為507(第一位5是最后的商)Ø 使用數(shù)組,編寫一個任意進制正整數(shù)轉換為十進制的轉換工具。(以2,10進制互轉為例,其他請舉一反三:二進制數(shù)1101轉十進制:1×2的三次冪1×2的二次冪0×2的一次冪1×2的零次冪840113)Ø 10個小孩圍成一圈分糖果,老師順次分給每個人的糖塊數(shù)為12,2,8,22,16,4,10,6,14,20。然后按下列規(guī)則調整,所有小孩同時把自己的糖果分一半給右邊的小孩,糖塊數(shù)變?yōu)槠鏀?shù)的人,再向老師補要一塊,問經(jīng)過多

7、少次調整后,大家的糖塊一樣多,且每人多少塊。Ø 編寫一個函數(shù),用以求x2-5x+4的值,x做為函數(shù)的形參,調用此函數(shù),求:y1= 22-5×2+4Y2=(x+15)2-5(x+15)+4Y3=(sinx)2-5sinx+4sinx 可以加載”math.h” 庫函數(shù)后使用,函數(shù)說明為double sin( double x)Ø 編寫一個函數(shù),使給定的一個二維數(shù)組(N×N)行列互換(N>3)。Ø 從鍵盤中輸入一個不超過40個字符的字符串,再輸入一個位數(shù),刪除對應 位數(shù)的字符,然后輸出刪除指定字符后的字符串要求:1) 用puts輸出指示信息 2

8、) 用gets接收字符串Ø 如果有一個正整數(shù)從左、右來讀都是一樣的,則稱為回文式數(shù)(簡稱回數(shù));比如101,32123,999都是回數(shù)。數(shù)學中有名的“回數(shù)猜想”之迷,至今未解決。回數(shù)猜想: 任取一個數(shù),再把它倒過來,并把這兩個數(shù)相加,然后把這個和數(shù)再倒過來,與原和數(shù)相加,重復此過程,一定能獲得一個回數(shù)。例: 68 倒過來是 86 68+86= 154154+541= 605605+506=1111 (回數(shù))編程,輸入任意整數(shù),按上述方法產(chǎn)生一個回數(shù),為簡便起見,最多計算7步,看是否能得到一個回數(shù)。要求:主函數(shù)中接收鍵盤數(shù)據(jù),必須用scanf(“%ld”,&變量名)接收整型變量

9、,顯示該數(shù)與其倒數(shù)的和,輸出每一步計算步驟。子函數(shù)1,計算該數(shù)的倒數(shù)。子函數(shù)2,驗證和是否為回數(shù),是則主函數(shù)打印“經(jīng)過n次計算,得到回數(shù)”,超過7次未能得到回數(shù),顯示,“經(jīng)過n次計算,未得到回數(shù)”Ø 求Sn=a+aa+aaa+-+aaaaaaa(n個a),其中a和n都從鍵盤中輸入,如從鍵盤中輸入2,5,則計算S5=2+22+222+2222+22222。#include "stdio.h"void main() int a,n,i=1; long s=0,t=0; printf("a="); scanf("%d",&

10、a); printf("n="); scanf("%d",&n); while(i<=n) t=t+a; s=s+t; a=a*10; +i; printf("sum=%d",s);Ø 兩個乒乓球隊進行比賽,各出三人。甲隊為A,B,C三人,乙隊為X,Y,Z三人。已抽簽決定比賽名單,有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X、Z比,編程找出三對選手的對手名單。注:使用窮舉法#include"stdio.h" int main() int i,j,k; for(i=1;i<=3

11、;+i) for(j=1;j<=3;+j) for(k=1;k<=3;+k) if(i=j | j=k | i=k) continue; if (i!=1 && k!=1 && k!=3) printf("A vs %cn",i+'X'-1); printf("B vs %cn",j+'X'-1); printf("C vs %cn",k+'X'-1); return 0; return 0; Ø 編寫一個函數(shù),函數(shù)說明為:char

12、lastchar ( char str) 功能:求一個字符串的最后一個字符,如果是空串,則返回空字符。再利用該函數(shù)編程,輸入兩個字符串,輸出第一字符串的最后一個字符和第二個字符串的最后一個字符。Ø 韓信點兵。韓信有一隊兵,他想知道有多少人,便讓士兵排隊報數(shù):按從1至5報數(shù),最末一個士兵報的數(shù)為1;按從1至6報數(shù),最末一個士兵報的數(shù)為5;按從1至7報數(shù),最末一個士兵報的數(shù)為4;最后再按從1至11報數(shù),最末一個士兵報的數(shù)為10。編程求韓信至少有多少兵? #include "stdio.h"void main()int i;for(i=1;i+)if(i%5=1&

13、;&i%6=5&&i%7=4&&i%11=10) printf("%d",i);break;Ø 用遞歸方法計算下列函數(shù)的值: fx (x, n)=x-x2+x3-x4+.(-1)n-1xn n>0要求:1) 寫出遞歸函數(shù)的原型2) 編寫程序Ø 4 用遞歸法將一個整數(shù)轉換成字符形式輸出。例如輸入483,應輸出字符串“483”。 其程序如下,請驗證,并修改程序,增加顯示出輸入數(shù)字的位數(shù)的功能,并使輸出結果與下圖一致。void convert(long n) long i; if (i=n/10)!=0) conv

14、ert(i); putchar(n%10+'0'); main() long number; scanf("%ld",&number); if ( number<0) putchar('-'); number= -number; convert (number); Ø 利用以下公式,編程計算的值,直到最后一項的絕對值( 用函數(shù)fabs() )小于0.0001為止。 【程序1】題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組

15、成所有的排列后再去掉不滿足條件的排列。 2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int i,j,k;  printf("n");  for(i=1;i<5;i+) /*以下為三重循環(huán)*/    for(j=1;j<5;j+)      for (k=1;k<5;k+)  

16、60;           if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/        printf("%d,%d,%dn",i,j,k);        getch();=【程序2】題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬

17、元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發(fā)放獎金總數(shù)?1.程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。2.程序源代碼:#include "stdio.h"#include "conio.h"main()

18、0; long int i;  int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;  scanf("%ld",&i);   bonus1=100000*0. 1;  bonus2=bonus1+100000*0.75;  bonus4=bonus2+200000*0.5;  bonus6=bonus4+200000*0.3;  bonus10=bonus6+400000*0.1

19、5;  if(i<=100000)    bonus=i*0.1;    else if(i<=200000)      bonus=bonus1+(i-100000)*0.075;        else if(i<=400000)         

20、 bonus=bonus2+(i-200000)*0.05;            else if(i<=600000)              bonus=bonus4+(i-400000)*0.03;          

21、;      else if(i<=1000000)                  bonus=bonus6+(i-600000)*0.015;                 &

22、#160;  else                      bonus=bonus10+(i-1000000)*0.01;  printf("bonus=%d",bonus);  getch(); =【程序3】題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問

23、該數(shù)是多少?1.程序分析:在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:2.程序源代碼:#include "math.h"#include "stdio.h"#include "conio.h"main()  long int i,x,y,z;  for (i=1;i<100000;i+)      x=sqrt(i+100); /*x為加上100后

24、開方后的結果*/    y=sqrt(i+268); /*y為再加上168后開方后的結果*/    if(x*x=i+100&&y*y=i+268) /*如果一個數(shù)的平方根的平方等于該數(shù),這說明此數(shù)是完全平方數(shù)*/    printf("n%ldn",i);    getch();=【程序4】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然

25、后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int day,month,year,sum,leap;  printf("nplease input year,month,dayn");  scanf("%d,%d,%d",&year,&month,&day);  switch(m

26、onth) /*先計算某月以前月份的總天數(shù)*/      case 1:sum=0;break;    case 2:sum=31;break;    case 3:sum=59;break;    case 4:sum=90;break;    case 5:sum=120;break;    case 6:sum=151;break;

27、    case 7:sum=181;break;    case 8:sum=212;break;    case 9:sum=243;break;    case 10:sum=273;break;    case 11:sum=304;break;    case 12:sum=334;break;    def

28、ault:printf("data error");break;    sum=sum+day; /*再加上某天的天數(shù)*/  if(year%400=0|(year%4=0&&year%100!=0) /*判斷是不是閏年*/    leap=1;  else    leap=0;  if(leap=1&&month>2) /*如果是閏年且月份大于2,總天數(shù)應該

29、加一天*/    sum+;  printf("It is the %dth day.",sum);  getch(); =【程序5】題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。2.程序源代碼:#include "stdio.h"#include "conio.h"

30、;main()  int x,y,z,t;  scanf("%d%d%d",&x,&y,&z);  if (x>y)    t=x;x=y;y=t; /*交換x,y的值*/  if(x>z)    t=z;z=x;x=t; /*交換x,z的值*/  if(y>z)    t=y;y=z;z=t; /*交換z,y的值*

31、/  printf("small to big: %d %d %dn",x,y,z);  getch(); =【程序6】題目:用*號輸出字母C的圖案。1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  printf("Hello C-world!n");  printf(" *n");

32、0; printf(" *n");  printf(" * n");  printf(" *n");  getch(); =【程序7】題目:輸出特殊圖案,請在c環(huán)境中運行,看一看,Very Beautiful!1.程序分析:字符共有256個。不同字符,圖形不一樣。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  char a=176,b=219;

33、0; printf("%c%c%c%c%cn",b,a,a,a,b);  printf("%c%c%c%c%cn",a,b,a,b,a);  printf("%c%c%c%c%cn",a,a,b,a,a);  printf("%c%c%c%c%cn",a,b,a,b,a);  printf("%c%c%c%c%cn",b,a,a,a,b);  getch(); =【程序8】題目:輸出9*

34、9口訣。1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int i,j,result;  printf("n");  for (i=1;i<10;i+)      for(j=1;j<10;j+)        

35、  result=i*j;      printf("%d*%d=%-3d",i,j,result); /*-3d表示左對齊,占3位*/        printf("n"); /*每一行后換行*/    getch();=【程序9】題目:要求輸出國際象棋棋盤。1.程序分析:用i控制行,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方格,還是白方格。2.程序源

36、代碼:#include "stdio.h"#include "conio.h"main()  int i,j;  for(i=0;i<8;i+)      for(j=0;j<8;j+)      if(i+j)%2=0)        printf("%c%c",219,219);&#

37、160;     else        printf("  ");    printf("n");    getch(); = 【程序10】題目:打印樓梯,同時在樓梯上方打印兩個笑臉。 1.程序分析:用i控制行,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個數(shù)。2.程序源代碼:#include "stdio.h&qu

38、ot;#include "conio.h"main()  int i,j;  printf("11n"); /*輸出兩個笑臉*/  for(i=1;i<11;i+)      for(j=1;j<=i;j+)      printf("%c%c",219,219);    printf("n&qu

39、ot;);    getch(); .:.:經(jīng)典c程序100例=11-20 :.:. 經(jīng)典c程序100例=11-20【程序11】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?1.程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21.2.程序源代碼:#include "stdio.h"#include "conio.h"main()  long f1,f2;  int

40、i;  f1=f2=1;  for(i=1;i<=20;i+)      printf("%12ld %12ld",f1,f2);    if(i%2=0) printf("n"); /*控制輸出,每行四個*/    f1=f1+f2; /*前兩個月加起來賦值給第三個月*/    f2=f1+f2; /*前兩個月加起來賦值給第三個月

41、*/    getch();=【程序12】題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。 2.程序源代碼:#include "stdio.h"#include "conio.h"#include "math.h"main()  int m,i,k,h=0,leap=1;  printf("n"); &

42、#160;for(m=101;m<=200;m+)      k=sqrt(m+1);    for(i=2;i<=k;i+)    if(m%i=0)          leap=0;      break;      

43、60; if(leap)          printf("%-4d",m);      h+;      if(h%10=0)        printf("n");       

44、; leap=1;    printf("nThe total is %d",h);  getch();=【程序13】題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為153=1的三次方5的三次方3的三次方。1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。2.程序源代碼:#include "stdio.h"#include "conio.h"main()

45、  int i,j,k,n;  printf("'water flower'number is:");  for(n=100;n<1000;n+)      i=n/100;/*分解出百位*/    j=n/10%10;/*分解出十位*/    k=n%10;/*分解出個位*/    if(i*100+j*10+k=

46、i*i*i+j*j*j+k*k*k)      printf("%-5d",n);    getch();=【程序14】題目:將一個正整數(shù)分解質因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對n進行分解質因數(shù),應先找到一個最小的質數(shù)k,然后按下述步驟完成: (1)如果這個質數(shù)恰等于n,則說明分解質因數(shù)的過程已經(jīng)結束,打印出即可。(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復執(zhí)行第一步。(3)如果n不能

47、被k整除,則用k+1作為k的值,重復執(zhí)行第一步。2.程序源代碼:/* zheng int is divided yinshu*/#include "stdio.h"#include "conio.h"main()  int n,i;  printf("nplease input a number:n");  scanf("%d",&n);  printf("%d=",n);  for(i=

48、2;i<=n;i+)    while(n!=i)          if(n%i=0)              printf("%d*",i);        n=n/i;   &

49、#160;        else        break;      printf("%d",n);  getch();=【程序15】題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運算符的基本例子。2.程序源

50、代碼:#include "stdio.h"#include "conio.h"main()  int score;  char grade;  printf("please input a scoren");  scanf("%d",&score);  grade=score>=90?'A':(score>=60?'B':'C'); 

51、60;printf("%d belongs to %c",score,grade);  getch();=【程序16】題目:輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。1.程序分析:利用輾除法。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int a,b,num1,num2,temp;  printf("please input two numbers:n");  scan

52、f("%d,%d",&num1,&num2);  if(num1<num2)/*交換兩個數(shù),使大數(shù)放在num1上*/      temp=num1;    num1=num2;    num2=temp;    a=num1;b=num2;  while(b!=0)/*利用輾除法,直到b為0為止*/   &

53、#160;  temp=a%b;    a=b;    b=temp;    printf("gongyueshu:%dn",a);  printf("gongbeishu:%dn",num1*num2/a);  getch();=【程序17】題目:輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。1.程序分析:利用while語句,條件為輸入的字符不為'

54、n'.2.程序源代碼:#include "stdio.h"#include "conio.h"main()  char c;  int letters=0,space=0,digit=0,others=0;  printf("please input some charactersn");  while(c=getchar()!='n')      if(c>=

55、9;a'&&c<='z'|c>='A'&&c<='Z')      letters+;      else if(c=' ')        space+;        else if(c>

56、='0'&&c<='9')          digit+;        else          others+;    printf("all in all:char=%d space=%d digit=%d

57、 others=%dn",letters,  space,digit,others);  getch();=【程序18】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。1.程序分析:關鍵是計算出每一項的值。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int a,n,count=1;  long i

58、nt sn=0,tn=0;  printf("please input a and nn");  scanf("%d,%d",&a,&n);  printf("a=%d,n=%dn",a,n);  while(count<=n)      tn=tn+a;    sn=sn+tn;    a=a*

59、10;    +count;    printf("a+aa+.=%ldn",sn);  getch();=【程序19】題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=123.編程找出1000以內(nèi)的所有完數(shù)。1. 程序分析:請參照程序<-上頁程序14. 2.程序源代碼:#include "stdio.h"#include "conio.h"main()  static int k10;

60、60; int i,j,n,s;  for(j=2;j<1000;j+)      n=-1;    s=j;    for(i=1;i<j;i+)          if(j%i)=0)           

61、;   n+;        s=s-i;        kn=i;              if(s=0)          printf("%d is a

62、 wanshu",j);      for(i=0;i<n;i+)      printf("%d,",ki);      printf("%dn",kn);        getch();= 【程序20】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

63、第10次落地時,共經(jīng)過多少米?第10次反彈多高?1.程序分析:見下面注釋2.程序源代碼:#include "stdio.h"#include "stdio.h"main()  float sn=100.0,hn=sn/2;  int n;  for(n=2;n<=10;n+)      sn=sn+2*hn;/*第n次落地時共經(jīng)過的米數(shù)*/    hn=hn/2; /*第n次反跳高度*/&#

64、160;   printf("the total of road is %fn",sn);  printf("the tenth is %f metern",hn);  getch();.:.:經(jīng)典c程序100例=21-30:.:. 經(jīng)典c程序100例=21-30【程序21】題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。

65、求第一天共摘了多少。1.程序分析:采取逆向思維的方法,從后往前推斷。2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int day,x1,x2;  day=9;  x2=1;  while(day>0)      x1=(x2+1)*2;/*第一天的桃子數(shù)是第2天桃子數(shù)加1后的2倍*/    x2=x1; 

66、   day-;    printf("the total is %dn",x1);  getch();=【程序22】題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。 1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。 2.程序源代碼:#include "stdio.h

67、"#include "conio.h"main()  char i,j,k;/*i是a的對手,j是b的對手,k是c的對手*/  for(i='x'i<='z'i+)    for(j='x'j<='z'j+)          if(i!=j)      

68、;for(k='x'k<='z'k+)              if(i!=k&&j!=k)                  if(i!='x'&&k!='x'&&a

69、mp;k!='z')            printf("order is a-%ctb-%ctc-%cn",i,j,k);                     getch();=【程序23】 題目:打印出如下圖案(菱形) &#

70、160; *  *  *   *1.程序分析:先把圖形分成兩部分來看待,前四行一個規(guī)律,后三行一個規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。 2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int i,j,k;  for(i=0;i<=3;i+)      for(j=0;j<=2-i;j+)  &

71、#160;   printf(" ");    for(k=0;k<=2*i;k+)      printf("*");    printf("n");    for(i=0;i<=2;i+)      for(j=0;j<=i;j+) &#

72、160;    printf(" ");    for(k=0;k<=4-2*i;k+)      printf("*");    printf("n");    getch();=【程序24】 題目:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13.求出這個數(shù)列的前20項之和。1.程序分析:請

73、抓住分子與分母的變化規(guī)律。 2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int n,t,number=20;  float a=2,b=1,s=0;  for(n=1;n<=number;n+)      s=s+a/b;    t=a;a=a+b;b=t;/*這部分是程序的關鍵,請讀者猜猜t的作用*/  

74、60; printf("sum is %9.6fn",s);  getch();=【程序25】 題目:求1+2!+3!+.+20!的和1.程序分析:此程序只是把累加變成了累乘。 2.程序源代碼:#include "stdio.h"#include "conio.h"main()  float n,s=0,t=1;  for(n=1;n<=20;n+)      t*=n;  

75、60; s+=t;    printf("1+2!+3!.+20!=%en",s);  getch();=【程序26】 題目:利用遞歸方法求5!。1.程序分析:遞歸公式:fn=fn_1*4!2.程序源代碼:#include "stdio.h"#include "conio.h"main()  int i;  int fact();  for(i=0;i<5;i+)  printf(

76、"40:%d!=%dn",i,fact(i);  getch();int fact(j)int j;  int sum;  if(j=0)    sum=1;  else    sum=j*fact(j-1);  return sum;=【程序27】 題目:利用遞歸函數(shù)調用方式,將所輸入的5個字符,以相反順序打印出來。1.程序分析:2.程序源代碼:#include "stdio.h&qu

77、ot;#include "conio.h"main()  int i=5;  void palin(int n);  printf("40:");  palin(i);  printf("n");  getch();void palin(n)int n;  char next;  if(n<=1)      next=getchar();    printf("n0:");    putchar(next);    else 

溫馨提示

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

評論

0/150

提交評論