【文章內(nèi)容簡介】
為多少?: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....:include include main(){long f1,f2。int i。f1=f2=1。for(i=1。i=20。i++){printf(%12ld %12ld,f1,f2)。if(i%2==0) printf(\n)。 /*控制輸出,每行四個(gè)*/f1=f1+f2。 /*前兩個(gè)月加起來賦值給第三個(gè)月*/f2=f1+f2。 /*前兩個(gè)月加起來賦值給第三個(gè)月*/}getch()。}==============================================================【程序12】題目:判斷101200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除, 則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。 ?。篿nclude include include main(){int m,i,k,h=0,leap=1。printf(\n)。for(m=101。m=200。m++){k=sqrt(m+1)。for(i=2。i=k。i++)if(m%i==0){leap=0。break。}if(leap){printf(%4d,m)。h++。if(h%10==0)printf(\n)。}leap=1。}printf(\nThe total is %d,h)。getch()。}===========================================【程序13】題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù) 本身。例如:153是一個(gè)“水仙花數(shù)”,因?yàn)?53=1的三次方+5的三次方+3的三次方。:利用for循環(huán)控制100999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。:include include main(){int i,j,k,n。printf(39。water flower39。number is:)。for(n=100。n1000。n++){i=n/100。/*分解出百位*/j=n/10%10。/*分解出十位*/k=n%10。/*分解出個(gè)位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf(%5d,n)。}getch()。}===========================================【程序14】題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成: (1)如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。(2)如果nk,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n, 重復(fù)執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。:/* zheng int is divided yinshu*/include include main(){int n,i。printf(\nplease input a number:\n)。scanf(%d,amp。n)。printf(%d=,n)。for(i=2。i=n。i++)while(n!=i){if(n%i==0){printf(%d*,i)。n=n/i。}elsebreak。}printf(%d,n)。getch()。}===========================================【程序15】題目:利用條件運(yùn)算符的嵌套來完成此題:學(xué)習(xí)成績=90分的同學(xué)用A表示,6089分之間的用B表示, 60分以下的用C表示。:(ab)?a:b這是條件運(yùn)算符的基本例子。:include include main(){int score。char grade。printf(please input a score\n)。scanf(%d,amp。score)。grade=score=90?39。A39。:(score=60?39。B39。:39。C39。)。printf(%d belongs to %c,score,grade)。getch()。}===========================================【程序16】題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。:利用輾除法。:include include main(){int a,b,num1,num2,temp。printf(please input two numbers:\n)。scanf(%d,%d,amp。num1,amp。num2)。if(num1num2)/*交換兩個(gè)數(shù),使大數(shù)放在num1上*/{temp=num1。num1=num2。num2=temp。}a=num1。b=num2。while(b!=0)/*利用輾除法,直到b為0為止*/{temp=a%b。a=b。b=temp。}printf(gongyueshu:%d\n,a)。printf(gongbeishu:%d\n,num1*num2/a)。getch()。}===========================================【程序17】題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。:利用while語句,條件為輸入的字符不為39。\n39。. ?。篿nclude include main(){char c。int letters=0,space=0,digit=0,others=0。printf(please input some characters\n)。while((c=getchar())!=39。\n39。){if(c=39。a39。amp。amp。c=39。z39。||c=39。A39。amp。amp。c=39。Z39。)letters++。else if(c==39。 39。)space++。else if(c=39。039。amp。amp。c=39。939。)digit++。elseothers++。}printf(all in all:char=%d space=%d digit=%d others=%d\n,letters,space,digit,others)。getch()。}===========================================【程序18】題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí) 共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤控制。:關(guān)鍵是計(jì)算出每一項(xiàng)的值。:include include main(){int a,n,count=1。long int sn=0,tn=0。printf(please input a and n\n)。scanf(%d,%d,amp。a,amp。n)。printf(a=%d,n=%d\n,a,n)。while(count=n){tn=tn+a。sn=sn+tn。a=a*10。++count。}printf(a+aa+...=%ld\n,sn)。getch()。}==============================================================【程序19】題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6=1+2+ 找出1000以內(nèi)的所有完數(shù)。1. 程序分析:請(qǐng)參照程序上頁程序14. :include include main(){static int k[10]。int i,j,n,s。for(j=2