![C程序基本算法 _第1頁](http://file4.renrendoc.com/view/b01377a3c51e1fe09b19ca3868f666c7/b01377a3c51e1fe09b19ca3868f666c71.gif)
![C程序基本算法 _第2頁](http://file4.renrendoc.com/view/b01377a3c51e1fe09b19ca3868f666c7/b01377a3c51e1fe09b19ca3868f666c72.gif)
![C程序基本算法 _第3頁](http://file4.renrendoc.com/view/b01377a3c51e1fe09b19ca3868f666c7/b01377a3c51e1fe09b19ca3868f666c73.gif)
![C程序基本算法 _第4頁](http://file4.renrendoc.com/view/b01377a3c51e1fe09b19ca3868f666c7/b01377a3c51e1fe09b19ca3868f666c74.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
、、、’C程序《基本算法》ー、求和算法求1+2+3+ +100 的值。//include"stdio.h"voidmain()(inti,sum=0;i=l;while(i<=100) /?當(dāng)i<=100時,執(zhí)行循環(huán)體?/(sum=sum+i;i++;)printf("%d\n,sum);)求1+3+5+7+9 +100 的值。#include"stdio.h"voidmain()(inti,sum=0;i=l;for(i=l00;i+=2)/*每次增加2*/sum=sum+i;printf("%d\n,sum);}求滿足1+2+3+ +的最大n值。解1:#inclh>voidmain()(intn,s;s=0;for(;n++){s=s+n;if(s>1000)break;)printf("n=%d\n"/n-l);)解2:#inclu>voidmain()intk,nzs;S—Ojn=l;000)(k=n;n++;s=s+n;}printf("n=%d\n",k);)求l+22+3?+42+ +102〇include"stdio.h"voidmain()(intn,s;s=0;for(n=l;n10;n++)s=s+n*n;printf("s=%d\n"/s);)求1+(1+2)+(1+2+3)+...+(1+2+3+...+10)的值。解法1(用雙循環(huán))tdio.h>main()(intiXs;s=0;for(i=l;i(t=0;for(++)t=t+j;s=s+t;)printf("%d\n”,s);)解法2(用單循環(huán))#includmain()intiJt,s;s=0;t=0;for(i=l;i{t=t+i;s=s+t;)printf("%d\n",s);}求1+1/3+1/5+1/7+ +1/99的值。#include"stdio.h"voidmain(){floati,s;s=0;for(i=l;)s=s+l/i;printf("s=%f\n",s);)^<l+l/32+l/52+l/72+ +1/992的值。#include"stdio.h"voidmain()(floati,s;s=0;for(i=l;2)s=s+l/(i*i);printf("s=%f\n"/s);)求l?l/2+l/3?l/4+ +1/99的值。#include"stdio.h"voidmain()(nts;floati,t,p;p=l;s=l;/*第一項1,作為累加變量的初值ッfor(++){t=s/i; /?先求各項?/p=p+t;/?累加各項?/)printf("p=%f\n",p);)求九的近視值n/4=1-1/3+1/5-1/7+ ,直到最后ー項的絕對值小于10的負(fù)6次方為止。#include"math.h"voidmain()(ints;floatn,t,pi;t=l,pi=0;n=1.0;s=l;while(fabs(t)>=le-6){pi=pi+t;n=n+2;s=-s;t=s/n;)pi=pi*4;10.6fprintf("pi=%\n"/pi);)解:用語句:s=-s,控制各項和符號。求1+3/5+5/9+7/13+ +97/193的值。include"stdio.h"voidmain(){floatしt,s;s=l;for(i+=2)s=s+i/(2*i-l);printf("s=%f\n"/s);}求1-3/5+5/9-7/13+ -97/193的值。#inelude"stdio.h"voidmain(){floati,p,t,s;s=l;p=l;f5;i+=2){s=-s;p=p+s*i/(2*i-l);}printf("p=%f\n"zp);)求1+2H-22+23+24+ +263之值。解1:#iio.h>#incl〉/?求基p。w(),要用此頭函數(shù)*/
voidmain()inti;doubles;s=0;for(i=0;is=s+pow(2J);printfド%e\n“,s);)解2:#includvoidmain(){inti;doublen,s;n=1;s=l;for;i++)(n=n*2;s=s+n;)printf("%e\n",s);前10前10項之和。求1+1/3+1/3X2/5+1/3X2/5X3/7+1/3X2/5X3/7X4/9+#dio.h>voidmain(){inti;doublea,b,t,s;a=0,b=l;t=l;s=0;for(i++){s=s+t;a=a+l;b=b+2;t=t*a/b;)printf("%lf\n",s);)求用下列級數(shù)的前21項之和計算自然對數(shù)之底e的近似值。1,1/1!,1/2!,1/3!, , 1/(N-1)!#inclh>voidmain()(inti;doublet,s;t=l;s=l;/*第一項賦為初值?/=20;i++)(t=t*i; /*分母連乘ッs=s+l/t;}printf(H%lf\n,,/s);}求1X1+2X2+3X4+4X8+nX2nl 前10項之和〇解1:#inc.h>#indud/?求幕pow(),要用此頭函數(shù)?/voidmain(){inti,s;s=0;for(i=l;s=s+i*pow(2J-l);printf("%d\n”,s);}解2:#iio.h>voidmain(){inti,n,s;n=l;s=0;for(i++){s=s+i*n;n=n*2;)printfC^dXn'^s);)求10!的值。#inclh>voidmain(){inti;longt;t=l;for(i=+)t=t*i; 〃求i的階乘prin}17. 編ー程序求l!+3!+5!+7!+9L#inclh>voidmain(){inti,j;longt,s;s=0;fo;i=i+2){t=l;for(j=l〃求i的階乘t=t*j;s=s+t; 〃累加i的階乘)printf(“%ld\n”,s);}18.求l!+2!+3!+ +20!的值。解法1(用單循環(huán)):#inc.h>voidmain(){inti;doublet,s;s=0;t=1;for(i=+)(t二ビi;〃求i的階乘s=s+t;〃累加i的階乘}printf("%e\n”,s);}解法2(用雙循環(huán)):#includevoidmain(){intij;doublet,s;s=0;for;i++)t=l;for(j=!〃求i的階乘t=t*j;s=s+t;〃累加i的階乘)printf("%e\n",s);)19,求1+1/2!+1/3!+1/4!+ ,前10項之和。#inc.h>voidmain(){inti;doublet,s;s=0;t=l;for(i=+){t=t*i;〃求i的階乘s=s+l/t;〃累加i的階乘的倒數(shù))printf("%lf\n",s);)求a+aa+aaa+aaaa+aaaaa+ 的值,其中a和項數(shù)由自己確定。#include"stdio.h"voidmain()(inta/n/s=O/t=O/k=l;printf("inputseanf(”%d,%d”wh(t=t*10+a;s=s+t;k++;}printf("a=%dzn=%d\n"/a/n);printf("a+aa+aaa+aaaa..?二%d\n",s);)求分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8, 前20項之和。(后一項的分子,等于前ー項分子與分母之和)#inelude"stdio.h"voidmain(){intn,t;floata=2,b=l,s=0;for(n=+)s=s+a/b;t=a;/?先把分子a賦給t暫時保存*/a=a+bゾ把a+b賦給后ー個分子a*/b=t;/?再把暫存的前ー個分子,賦給后ー個分母?/)printf("s=%f\n",s);}求分?jǐn)?shù)序列1/2,2/3,3/5,5/8,8/13, 前20項之和。(后一項的分母,等于前ー項分子與分母之和)include"stdio.h"voidmain()(intn,t;floata=l,b=2,s=0;forn++){s=s+a/b;t=b;/?先把分母賦給t暫時保存?/b=a+b;/*把a+b賦給后ー個分母b*/a=t;/?再把暫存的前ー個分母,賦給后ー個分子?/)printf("s=%f\n",s);}判斷輸入的ー個整數(shù)是否能被3或7整除,若能整除輸出“YES”否則輸出“N0”#include"stdio.h"voidmain(){intk;printf("Enteraintnumber:");scanf("%if(k%3==0||k%7==0)printf{"YES\n");elseprintf("NO\n");)ー個數(shù)用3除余2,用5除余3,用7除余5,求出其中最小的ー個數(shù)。include"stdio.h"voidmain(){longn;n=l;while(l)if(n%3==2n%7==5)break;n++;)printf("n=%ld\n",n);)求出1000以內(nèi)的3除余2,5除余3,7除余2的數(shù)。#includeMstdio.h"voidmain(){intn;for(n=l;n%7==2)printf("n=%d\nツn);}下面程序從讀入的整數(shù)數(shù)據(jù)中,統(tǒng)計大于0的整數(shù)個數(shù)i和小于〇的整數(shù)個數(shù)j,當(dāng)輸入。時,程序運行結(jié)束。#include<stdio.h>voidmain(){intnJJ;printf(/zlnputintnumbers,with0toend:");i=j=0;scanf(〃%d”,&n);while(n!=0){if(n>0)i=i+l;if(n<0)j=j+1;scanft%d”繼續(xù)輸入下ー個數(shù)ッ}printf("i=%d尸%d\n〃,i,j);)下面程序輸入一個學(xué)生的生日(年:y0?月:m0,日:dO),并輸入當(dāng)前日期(年:yl,月:ml,日:dl)〇求出該學(xué)生的實足年齡。#includmain(){intage,y0,m0,d0,yl,mlzdl;printf("輸入生日日期(年、月、日)");scanf("%d,%d,%d“,0);printf(“輸入當(dāng)前日期(年、月、日)");scanf("%d,%d,%d“,l);age=yl-yO;if(m0>ml)age-;〃如果出生月份〉當(dāng)前月份,年齡減1歲if((mO==ml(dO>dl))age-;/?如果出生月份;當(dāng)前月份,但出生日〉當(dāng)前日,年齡減1歲ッprintf("age=%3d\n",age);28.2003年3月5日/?若輸入,則輸出是2003年第64天?/3月5日/?反過來,若輸入2003年第64天,則輸出?/includeintday_tab[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31},};voidmain(void)(intday_of_year(intyear,intmonth,intday);intmonth_day(intyear;intyearday);inty,m,d;printf("lnputyear,month,day門;scanf(”%d,%dprintf("%d年第%d天、n”,y,day_of_year(y,m,d));/?打印天數(shù)?/printf("Inputyear,dayth:");scanf("%d);month_day(y,d);/?求月份數(shù)、當(dāng)月第幾天?/}intday_of_year(intyear,intmonthjntday)/?輸入年、月、日,求是該年第幾天?/{intijeap;/?閏年leap=l,非閏年leapニ〇?/Ieap=year%4100==0||year%400==0;month;i++)/*i從!開始,不用第〇月?/day+=day_tab[leap][i];/?若是2003年3月5號,則累加1月、2月的天數(shù)?/return(day);)intmonth_day(intyearjntyearday)/?輸入年、天數(shù),求是該年幾月幾日?/{inti,leap;leap=yeear%100!=0||year%400==0;for(i=l;yearday>day_tab[leap][i];i++)yearday-=day_tab[Ieap][i];/?若是2003年第64天,則減去1月,2月的天數(shù)?//カ是月份數(shù),剩下的yearday是當(dāng)月天數(shù)?/printf("%d月",i);/?打印月份?/printf("%dS\n",yearday);/*打印天數(shù)*/)/*運行情況:Inputyear,month,day:2003352003年第64天Inputyear,dayth:2003,643月5日*/29.二、枚舉法(枚舉法)求解百雞問題。雞翁ー,值錢五,雞母一,值錢三,雞雛三,值錢ー,百錢買百雞,問雞翁、母、雛各幾何?include"stdio.h"voidmain(){intx,y,z;for(x=l;31;y++){z=100-x-y;if(5*x+3*y+z/3.0==l00) //C語言中不能除以3printf("cock=%d,hen=%d,chick=%d\n",x,y,z);))(枚舉法)求滿足ijk+kji=1333的i,j,k的值(i,j,k均是一位數(shù))。此問題實際是:一個三位數(shù),三位數(shù)字順排倒排組成的兩個三位數(shù)之和等于1333,求這個三位數(shù)的三位數(shù)字。#includevoidmain(){intijk;for(i=l;ifo;j++)for(k+)if((i*100+j*10+k)+(k*100+j*l0+i)==1333)printf("i=%dj=%d,k=%d\n"JJ,k);}以下程序不用第三個變量,實現(xiàn)將兩個數(shù)進(jìn)行對調(diào)的操作。include"stdio.h"main(){inta,b;scafnぐ‘%d%d”,&a,&b);printf("a=%d/b=%d\n,//a,b);a=a+b;b=a-b;a=a-b;printf("a=%d/b=%d\n///azb);選擇法排序#inio.h>voidmain()(voidsort();inti,j,k,t,a[10];printf("enterarraya[l0]");for(i+)scanf("%10;i++)(k=i;for(j=i+)if(a[j]>a[k])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;})for(i=){printf("%d",a[i]);}printf("\n");)冒泡法排序include"stdio.h"voidmain(){inta[ll];/?不用〇下標(biāo),故定義a[ll]*/intprintf(Mlnput10numbers:\n");fl;i++)scani]);printf("\n");forj++)/*控制比較的輪數(shù)為9輪ッfo〇ガ++)/?從第1個元素開始,往下進(jìn)行比較ッif(a[i]>a[i+l])/?若上面元素大于下面的元素,則交換ッ{t=a[i];a[i]=a[i+l];a[i+l]=t;}printf("Thesorttednumbers:\n");for(i+)printf("%d"za[i]);printf("\n");getch();}D四、數(shù)組(最大數(shù)、最小數(shù))求出十個數(shù)中的最大數(shù),最小數(shù)及其序號。#include"stdio.h"voidmain()(inta[10]={l,-3廠7,9,11,0,4,32,25,10};inti,max,min,nl,n2;printf("arraya:");for(i=printf("%d,",a[i]);/*注意輸出格式的控制?/printf("%d\n",a[i]);printf("\n");max=min=a[0];nl=n2=0;/?設(shè)0號元素最大、最小,nl,n2記序號?/f0;i++)if(a[i]>max)/?若a同大于max*/(max=a[i];/*把a[i]賦給max*/nl二i;/?同時用nl記最大數(shù)的序號!*/)eIse/?否則?/i)/?若a[i]小于min*/(min=a[i];/*把a[i]賦給min*/n2=i;/?同時用n2記最小數(shù)的序號i*/}printf("maxis:a[%d]=%d\n",nl,max);printf("minis:a[%d]=%d\n",n2,min);)求出Fibonacci數(shù)列的前20項。#include"stdio.h"voidmain()(inti;intf[20]={l,l};/?為第0,1項賦值*/fo;i++)/?從第2項起?/f[i]=f[i-2]+f[i-l];for(i=0if(i%5==0)/?若i是5的倍數(shù),則換行?/printf("\n");printf("%12d",f[i]);)printf("\n");)求出Fibonacci數(shù)列中小于10000的項中最大的一個項。解法1:#include"stdio.h"voidmain()(nti;longk,f[100]={l,l};/?下標(biāo)應(yīng)大一些?/i=l;w10000)(k=f[i];/?用k記小于!0000的項,最后一次的k就是答案?/i++;f[i]=f[i-2]+f[i-l];)printf("%ld\n",k);}解法2:#include"stdio.h"voidmain()(inti;longk,f[100]={l,l};/?下標(biāo)應(yīng)大一些?/i=l;w10000)/?當(dāng)f[i]>=10000時,オ停止循環(huán)?/{i++;f[i]=f[i-2]+f[i-l];)printf("%ld\n",f[i-1]);/?輸出第i-1項:f[i-l]*/)4,求出Fibonacci數(shù)列中大于10000的項中最小的ー個項。#include"stdio.h"voidmain()(inti;longk,f[100]={l,1);/?下標(biāo)應(yīng)大一些?/i=l;wh0000)/?當(dāng)f[i]>=10000時,オ停止循環(huán)?/i++;f[i]=f[i-2]+f[i-l];)printf("%ld'n"即]);/?第i項是大于1000的第一項?/)(矩陣中最大數(shù))求出矩陣中的最大數(shù),最小數(shù)及其在矩陣中的位置。#include"stdio.h"voidmain(){inti,j,row,colum;floatmax,a[3][4]={{l,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];row=0;colum=0;for{i=0=3;j++)if(a[i][j]>max)(max=a[i][j];row=i;colum=j;)fprintf("maxis:a[%d][%d]=%\n"/row/colum,max);getch();}求矩陣中每行的最大數(shù)及其位置。include"stdio.h"voidmain(){intしj,max,row,col;staticinta[3][3]={{3,5,6},{2,1,4},{8,7,1});printf("Orignalarrayis:\nH);for(i){for(j=printf("%3dH,a[i][j]);printf(n\n");)printf("\n");for(i=+){max=a[i][0];row=i;col=0;〃令當(dāng)前最大的數(shù)為本行第0號元素,記下行、列號for(j++)〃把本行各個元素與max進(jìn)行比較if(a[i][j]>max)max=a[i][j];row=i;col=j;)printf("a[%d][%d]=%d\n,,/row,col,max);))求矩陣中每列的最大數(shù)及其位置。#include"stdio.h"voidmain(){intレレmax,row,col;staticinta[3][3]={{3,5,6},{2,1,4},{8,7,1});printf("orignalarray:\rT);foi++){for++)printf("%3d",a[i]U]);printf("\n");}printf("Maxis:\n”);for(j=+)(max=a[0][j];row=0;col=j;〃令每列第0行元素最大,記下行、列號for(i=l;i把本列各個元素與max進(jìn)行比較if(a[i]U]>max){max=a[i][j];row=i;col=j;}printf("a[%d][%d]=%d\n",row,col,max);}}(最大公約數(shù))求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。#includevoidmain(){intm,n,p,r;printf("Enterm,n:");scanfif(n==0)return;p=m*n;while(r=m%n){m=n;n=r;}printf("最大公約數(shù):%d\n",n);printf("最小公倍數(shù):%d\n",p/n);)(素數(shù))求出1到100之間的全部素數(shù),要求每行輸出10個素數(shù)。ftinclude#ath.h>#defineN100voidmain(){intm,k,i,n=0;for(mm+l)/*m從2至リ100*/{k=sqrt(m);for(++)if(m%i==0)break;if(i>=k+l)/?如果i>=k+l,則m是素數(shù)?/(printf("%6d",m);n=n+l;/?打印ー個,記ー個數(shù)?/if(n%5==0)printf("\n。;/?打印5個后,換行?/})printf("\n");)(篩法)求1到100之間的全部素數(shù),要求每行輸出10個素數(shù)。算法:(1)先把1挖掉。(下面從2開始)(2)用2去除它后面的各個數(shù),把能被2整除的數(shù)挖掉,即把2的倍數(shù)挖掉。令a[j]=O(3)用3去除它后面的各個數(shù),把3的倍數(shù)挖掉。(4)用4,5,…,,去除它后面的各個數(shù),把它們的倍數(shù)挖掉。(5)最后,下標(biāo)i從2開始,如果a[i]W0,則輸出。include"stdio.h"#include"math.h"voidmain(){inti,j,n,a[l01];for(i=l++)a[i]=i;for(i=2;);i++)for100;j++){if(a[i]!=0if(a[j]%a[i]==0)a[j]=0;}n=0;for(i=2;){?f(a[i]l=0){p門ntf(”%5d”,a[i]);n++;)if(n==10) /*輸出了:10個,則換行?/{printf("\n");n=0;)}printf("\n");}(猴子吃桃)有一數(shù)列,其后ー項比前ー項的二分之一小ー,請編程序求出這個數(shù)列的前十項。解法1:stdio.h>voidmain(){intday,xl,x2;day=10;xl=l;/*第一天是1個桃子?/while(day>l)(x2=2*(xl+l);/?求第二天的桃子數(shù)?/xl=x2;/?把第二天的桃子數(shù),作為下ー個第一天的桃子數(shù)?/day-;/?天數(shù)減!*/}printf("num=%d個、n",x2);}解法2:#tdio.h>voidmain(){ntday,n=l;for(day=2ay++)n=2*(n+l);printf("n=%d個\nツn);)解法3:tdio.h>voidmain(){intday,x;day=l/x=l;w0){x=(x+l)*2;day++;printf("x=%d個、n,x);)12. (逆序存放數(shù)組)將一個數(shù)組中的值按逆序存放includeio.h>#defineN5voidmain()(intij,t;inta[N];printf("inputa[5]:M);for(i=scanf("%dHfor(i=OJ=Nー時?/{t=a[i];a[i]=a[j];a[j]:t;}/?交換兩端的元素?/for(i=0;iprintf("%d",a[i]);printf("\n");)(有序數(shù)列插數(shù))有一有序數(shù)列1,12,17,20,25,28,編ー程序把一個數(shù)插入其中,使插入后的數(shù)列仍然有序。解法1:#include"stdio.hKmain(){inta[10]={l,12,17,20,25,28},x,i,n=5;printf("Enteranumber:");scanf("i=n;while(a[i]>x){a[i+1]=a[i];i--;}〃如果a[i]>x,則把a川向后移動一位a[++i]=x;〃第i位放x的值n++;for(i=)printf("%4d",a[i]);printf(H\n");}解法2:includeHstdio.h"voidmain(){inta[ll],num,i,j;printf("inputa[10]:");f0;i++)scani]);for(++)printf("%5d",a[i]);printf("\n");printf(M\ninputwan'tinsertnumber:");scanf("%d"if(num>=a[9])a[10]=num;/?如果要插的數(shù)比a[9]大,則插入最后?/elsefor(i=0;{「])/?如果num小于第i號元素?/{for(j=10 則原數(shù)組中i號后面的元素往后移一位?/aO]=a[j-l];a[i卜num;/?要插的數(shù)送到i號中(插入i號位置)*/break;}}for(i=0;printf("%5d”,a[i]);printf("\n");)把數(shù)組a中的數(shù)x全部刪除,如果找不到這個數(shù),則打印找不到。#ino.h>#defineSIZE10voidmain()(inta[SIZE卜{3,2,5,4,6,7,8,0,9,4};inti,x,n,pos,loop;n=SIZE;loop=0;printf("originalarray:ツ;for(ii++)printf("%3dn,a[i]);printf("\nlnputdeletenumber:");sea); 〃輸入要刪除的數(shù)xfor(pos=s++)//pos記序號if(a[pos卜二x)〃如果元素a[pos]與要刪除的數(shù)相同(for(l;i++)〃后面的數(shù)左移一位a[i]=a[i+l];n=n?l;〃同時元素個數(shù)減1loop=l;〃標(biāo)記有刪除的數(shù)}if(loop)(printf("newarray:");for(i=0;printf("%3d",a[i]);}else〃否則,打印沒有找到printf("%dfoundnot!\n"zx);)編ー程序,查找數(shù)x在數(shù)組a中的位置,如果找到了則打印這個數(shù)及其位置,否則打印找不到。#ino.h>#defineSIZE10voidmain()(inta[SIZE卜{5,3,4,2,1,6,0,9,8,7};inti,k,x;printf("lnputintegerx(0-9):");scanf("%d",〃輸入要查找的數(shù)xfor(i=++)〃把數(shù)組中所有的數(shù)與x進(jìn)行比較if(a[i]==x)〃如果找到了{(lán)k=i;break;}〃用k記序號ifprintf("Found%d,positon:%d\n",x,k);elseprintf("Findnot:%d\n",x);)折半法查找tdio.h>#defineN10voidmain(){inta[N]={l,3,5,7,9,11,13,15,17,19);intx,top,bottom,mid,Ioca,flag,sign;charc;flag=l;sign=l;while(flag)(printf(“輸入要查找的整數(shù):");scan;loca=0;top=0;bottom=N-1;a[0]||x>a[N-l])loca=-l;while((om))mid=(bottom+top)/2;/?求中點?/if(x==a[mid])/?找到了?/{loca=midゾ找到的數(shù)的位置?/printf("Find%djtspositionis%d\n",xjoca+l);sign=0;/?查找到了標(biāo)志設(shè)為0*/}a[mid])/*如果x小于中點的數(shù)?/bottom=mid-1;/?底減1*/else/?否則,頂加1ッtop=mid+1;}if(sign==l||loca==?l)/?沒有找到或超出范圍?/printf("%disnotfound.\n”,x);printf("繼續(xù)查找嗎(Y/N)?“);scanf("if(c=='N,||c=='n,)flag=0;))輸入一行字符,統(tǒng)計其中英文字母、空格、數(shù)字和其它字符的個數(shù)。#ineludeHstdio.h"voidmain()(charch;inta=0,b=0,c=0,d=0;printf(Hinputastring:");while((ch=getchar())!='\n'){if((ch>=*a'||(ch>='A')a++;elseif(ch==")b++;elseif(ch>=")C++;elsed++;}printf("letter=%d\nspace=%d\ndigit=%d\nother二%d\n”,a,b,c,d);}打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指ー個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。#include"stdio.h"voidmain(){inta,b,c,n;printf("水仙花數(shù)是:");for(n=10++){a=n/100;/?求n的各位數(shù)字?/b=(n-a*100)/10;c=n%10;if(n==a*a*a+b*b*b+c*c*c)printf("%d,n);)prin}ー個數(shù)恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。編程序查出1000之內(nèi)的所有完數(shù)。includevoidmain()(inta,b,c,s;fo000;a++){S=l;if(a%2==0)c=a/2;/?偶數(shù)的因子不大于其值的二分之ーッelsec=a/3;/?奇數(shù)的因子不大于其值的三分之ーッfor(b+)if(a%b==O)s=s+b;if(s==a)printf("%d\n",a);))?個數(shù)恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。輸出大于c的最小的,個完數(shù),c由鍵盤輸入。如輸入10〇,結(jié)果:4960#includvoidmain(){intazb,c,s;printf("lnputintc:");scc);for(a=c+l;;a++)/?從大于c的第一個數(shù)開始,依次遞增,判斷完數(shù)ッ{s=l;fo/2;b++)if(a%b==O)s=s+b;if(s==a)/?找到了,停止循環(huán)?/break;)printバ%d'n",a);/?輸出大于c的最小的ー個完數(shù)?/)ー個數(shù)恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。輸出I000以內(nèi)的所有完數(shù)。#inclh>voidmain()(inti,j,s;for(ii++){s=l;fi/2;j++)if(i%j==0)s=s+j;if(s==i)/?找到了,停止循環(huán)ッprintf("%d\n",s);)}ー個數(shù)恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。輸出小于c的最大的ー個完數(shù),c由鍵盤輸入。如輸入100,結(jié)果為:28。#dio.h>voidmain(){nta,b,c,s;printf("lnputintcscanf(for(a=c-l;a>=2;a--)/?從小于c的第一個數(shù)開始,依次遞減,判斷完數(shù)?/|s=l;for(b=2;)if(a%b==O)s=s+b;if(s==a)/?找到了,停止循環(huán)ッbreak;}printf("%d\n",s);/?輸出小于c的最大的ー個完數(shù)?/)打印出10000以內(nèi)的“完數(shù)”及其因子。tdio.h>voidmain()inta,b,s;for(a=2;a)(s=l;for2;b++)if(a%b==0)s+:b;/?求a的因子之和s*/if(s==a)/?如果因子之和s與數(shù)a本身相等?/{printf(“%d是ー個完數(shù),它的因子是:l,a);for(bb++)/?再次求出a的因子,并打印出來ッif(a%b==0)printf(",%d",b);printf("\n");}))(回文數(shù))一個三位的素數(shù),若其個位和百位數(shù)字相同,這個數(shù)叫做回文數(shù),打印這些回文數(shù)。解法1:不用函數(shù)#include#th.h>voidmain(){intn,i,j,x,y,z,loop;fo=999;n++){x=n/100;〃求各位數(shù)字x,y,zy=(n-x*100)/10;z=n%l0;j=sqrt(n);//n的平方根j=j;i++)if(n%i==0)break;if(i>=j+l)loop=lJ〃如果是素數(shù),令loop=lelseloop=0;if((x==z)=1)printf("%4d",n);)printf("\n");)解法2:用函數(shù)stdio.h>#ih.h>intZS(intn)/?判素數(shù)的函數(shù)?/intzJJ=sqrt(n)ztemp;for(i=2;iif(n%i==O)break;if(i>=j+l)temp=1;elsetemp=O;returntemp;)intHWSfintn)/*判回文數(shù)的函數(shù)?/{intx,y,z,loop,c;x=n/100;y=(n-x*100)/10;z=n%10;c=ZS(n);if((x==z)p=l;〃x與z相等,且c為真,則是回文數(shù)elseloop=0;returnloop;)voidmain()(intn;for(n9;n++)if(HWS(n))printf("%4d",n);printf("\n");getch();)找出100之內(nèi)的全部同構(gòu)數(shù)。同構(gòu)數(shù)是這樣ー個數(shù):它出現(xiàn)在平方數(shù)的右邊,例如:5是25右邊的數(shù),25是625右邊的數(shù),則5和25都是同構(gòu)數(shù)。分析:同構(gòu)數(shù)出現(xiàn)在其平方數(shù)的右邊,只比其平方數(shù)少一位,故只有一位或兩位的同構(gòu)數(shù)。因為100的平方等于10000,是五位數(shù),可知,三位數(shù)的平方數(shù),比它本身至少多兩位,故不可能有三位以上的同構(gòu)數(shù)。解1:從同構(gòu)數(shù)出發(fā)stdio.h>voidmain(){inti,n,a,b,c,d;for(i++){n=i*i;a=n/1000; /?兩位數(shù)的平方,最大為4位數(shù)?/b=(n-a*1000)/100;c=(n-a*1000-b*100)/10;d=n%10;/?根據(jù)定義,同構(gòu)數(shù)只比它的平方數(shù)少一位?//?故對兩位的同構(gòu)數(shù),限定其平方數(shù)n<1000,オ符合要求*/if(d*d==n|I((c*10+d)*(c*10+d)==n)pnntf("n=%d\t同構(gòu)數(shù):%d\n,\n/i);})解2:平方數(shù)出發(fā),求其同構(gòu)數(shù)#ino.h>voidmain()(inta,b,c,d,i;for(i-10;i/*100以內(nèi)的同構(gòu)數(shù)構(gòu)成的數(shù),至少是兩位數(shù)?/(a=i/l00;b={i-a*100)/10;c=i%10;if(c*c==i)printf("平方數(shù):%d\t同構(gòu)數(shù):%d\n",i,c);if((b*10+c)*(b*10+c)==i)printf("平方數(shù):%d\t同構(gòu)數(shù):%d\n",i,b*10+c);))求出矩陣主對角線元素之和。#defineN3includevoidmain()(inti,j;inta[N][N],sum=0;printf("Entera[3][3]:\n");for(i)for(j=0;jsea[i]U]);foi++)sum=sum+a[i][i];printf("sum=%d\n",sum);}求出矩陣對角線元素之和。ド73求一個3*3矩陣主對角線元素之和?/解1(最中間一個元素只計算ー次)#defineN3#inco.h>voidmain()intij;inta[N][N]zsum=O;printf(HEntera[3][3]:\n");f;i++)for(j)scanf(H%d);for(i=0;for(j=0;j<N;j++)if(l==j11l+j==2)sum=sum+a[i][i];printf("sum=%d\n",sum);}解2(分別計算兩條對角線):#defineN3#incl.h>voidmain()(intiJ;inta[N][N],sum=0;printf("Entera[3][3]:\n");foi++)for(j=scanf("%d";for(i=0;ifor(j=0;j<N;j++)if(i==j)sum=sum+a[i][i];for++)for(j=0;j<N;j++)if(i+j==2)sum=sum+a[i][i];printf("sum=%d\n",sum);}求兩個矩陣的和。/?輸出矩陣的積?/#indude"stdio.h"voidmain(){inti,j;inta(3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12});intb[3][4]={{l,2,3,4},{5,6,7,8},{9,10,11,12}};ntc[3][4];/?下面計算矩陣cツfor(i=0;i控制行?/for(+)/*j控制列?/c[i][j]=a[i][i]+b[i]U];/*下面輸出矩陣C*/for(i)/*i控制行?/{4;j++)/?輸出每一行中的各列元素?/printf("%4d",c[i][j]);printf("\n");/?每行輸出完畢后,換行?/}printf("\n");)求兩個矩陣的積。#include"stdio.h"voidmain(){inti,j;inta[3][4]={{l,2,3,4},{5,6,7,8},{9,10,11,12)};intb[3][4]={{l,2,3,4},{5,6,7,8},{9,10,ll,12}};intc[3][4];/?下面計算矩陣C*/foi++)/*i控制行?/for(j=0;j控制列?/c[i][j]=a[i][i]*b[i]D];/?下面輸出矩陣C*/for(i=0;i控制行?/{for(+)/?輸出每一行中的各列元素ッprintf("%4d",c[i]UJ);printf”n");/?毎行輸出完畢后,換行?/}printf("\n");)求以下矩陣a的轉(zhuǎn)置矩陣b。123456voidmain(){inta[2][3]={{l,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");/?輸出原來的矩陣a*/for(i=0;?外循環(huán)控制行?/{fo作。;?內(nèi)循環(huán)控制列?/|printバ%5d",a[叫);/?輸出ー行中每一列?/}printf("\n");/?輸出完一行后換行?/}fori++)/?求轉(zhuǎn)置矩陣b*/{for(++)bU][i]=a[iJU];}printf("arrayb:'ザ;/?輸出轉(zhuǎn)置后的矩陣b*/for(i=0{for(j=0;printf("%5d",b[i][j]);printf("\n");)getch();}/?注意:輸出矩陣a和求矩陣兩個循環(huán)?/7-4-2/?可以合并在ー起,見例題.c*/(二分法)求下面方程在(-10,10)之間的根。2x3-4x2+3x-8=0算法如下:(1)輸入xl和x2的值。(2)求f(xl)和f(x2).(3)如果f(xl)和f(x2)同號,說明在[xl,x2)內(nèi)無根,返回步驟(1),重新輸入xl和x2的值;若f(xl)和f(x2)不同號,則在[xl,x2]內(nèi)必有一個實根,執(zhí)行步驟(4)〇(4)求xl和x2的中點:x0=(xl+x2)/2。(5)求f(xO).(6)判斷f(xO)與f(xl)是否同號。A、如果f(xO)與f(xl)同號,則應(yīng)在[x0,x2]中尋找根,此時xl已不起作用,用x0代替xl,用f(xO)代替f(xl)。B、如果f(xO)與f(xl)不同號,則應(yīng)在[xl,x0]中尋找根,此時X2已不起作用,用x0代替x2,用f(xO)代替f(x2)。(7)判斷f(xO)的絕對值是否小于某個指定的值(例如10ケ。若不小于ルセ則返回步驟(4),重復(fù)執(zhí)行步驟(4)、(5)、(6):否則,執(zhí)行步驟(8)。(8)輸出x0的值,它就是所求的近視根。include"stdio.h"include"math.h"voidmain(){doublexOzxl,x2,fxO,fxljx2;do{printfC'Enterxl,x2:");scanf(,,%lf/%lf"fxl=((2*xl-4)*xl+3)*xl-6;fx2=((2*x2-4)*x2+3)*x2-6;}while(fxl*fx2>0);do{x0=(xl+x2)/2;fxO=((2*x0-4)*x0+3)*x0-6;if((fxO*fx{x2=xO;僅2=fxO;)else{xl=xO;僅1=僅0;)}while(fabs(fxO)>=le-5);6.2fprintf("x=%\n",x0);}以下程序把一個十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)。#inclu>#defineN80voidmain(){intb[N],x,k,r,i;printf("Enteraintnumber:”);scanf(/輸入ー個十進(jìn)制數(shù)xk=-l;do{r=x%2; 〃求x除以2的余數(shù)rb[++k]ゴ;〃把余數(shù)r存放到數(shù)組b中x/=2;〃求x除以2的商}while(x!=0);〃當(dāng)商不是〇時,繼續(xù)求其除以2的余數(shù)for(i=k;i>=0;i-)printf("%d”,b。]);printf("\n");}統(tǒng)計分?jǐn)?shù)段人數(shù)#include<stdio.h>voidmain(){inti,n;staticinta[ll];floatb[25]={5,10,16,20,29,30,36,30,38,40,47,50,55,60,66,70,78,80,88,90,99,91,94,100,100};for(++){n=b[i]/10;a[n]++;)fori++)printf("%d—%d:%d\n",10*i,10*i+9,a[i]);printf("100:%d\n",a[10]);DD五、字符串下面程序刪除字符串s中的所有空格。include"stdio.h"voidmain(){chars[]="OurteachrteachsClanguage";intij;for(i=j=0;s[i]!='\0";i++)if(s[i]l='')sU++]=s[i];sU]=,\O';printf("%s\n”,s);)刪除字符串中某個字符#includ>voidmain(){intij;charchzstr[80];printf("Enterisstringgets(str);〃輸入一個字符串printf("Enterdeletecharacter:");seah);〃輸入要刪除的字符for(i=j=0;str[i]!='\0';i++)if(str[i]!=ch)str[j++]=str[i];str[j]='\O';printf("newstringis:%s\n",str);)找出字符串中最大的那個字符,并把它們刪除。#idio.h>voidmain(){intij;charmax,str[80];printf("Enterisstring:");gets(str);max=str[0];for(i=0;str[i]!='\O*;i++)if(str[i]>max)max=str[i];/*找最大字符?/for(冃=O;str叩』、〇即++)/?用上題方法刪除這個字符*/if(str[i]!=max)str[j++]=str[i];strU]='\O,;printf("newstringis:%s\n”,str);)刪除字符串中某個子串(設(shè)最多只有一個字串)include#ring.h>voidmain(){char*plz*p,strl[80]/str2[80];intしpos,lenjenl;printf("Enterisstrl:");gets(strl);〃輸入第一個字符串lenl=strlen(strl);printf("Enterisstr2:");gets(st⑵;〃輸入要刪除的子串p=pl=strl;Ien=strlen(str2);p=strstr(strl,st⑵;〃求str2在strl中第一次出現(xiàn)的位置指針po5二p-pl;〃求第一次出現(xiàn)str2至リstrl首部的距離if(p!=NULL)〃當(dāng)指針p不為空時(for(i=posen;pos++,i++)strl[pos]=strl[pos+len];〃令,找到的位置開始二位置+str2的長度printf(nnewstringis:%s\n",strl);)elseprintf(nstr1中無子串:%s\n”,str2);)輸入一行字符,統(tǒng)計單詞個數(shù),單詞之間用空格進(jìn)行分隔。#include"stdio.h"voidmain()(charstring[81];inti,num=0,word=0;/?單詞沒有岀現(xiàn),記word為0*/charc;printf("inputanstatement:");gets(string);for(i=0;(c=string[i])!=\O”++)/?當(dāng)?shù)趇個字符不是結(jié)束標(biāo)志時?/if(c==-)wordニ0;/?如果c是空格,則單詞沒出現(xiàn),記wordニ。*/elseif(word==0)/?否則,不是空格,而前面又是空格,說明新單詞出現(xiàn)?/(word=l;/*令word=1*/num++;/?單詞數(shù)加!*/)printf("Thereare%dwordsintheline.\n",num);)復(fù)制字符串把str2復(fù)制給strl解1(用數(shù)組)#includtring.h〉/?用到了字符串函數(shù)?/voidmain(){charstrl[80],str2[40];/?連接后strl,應(yīng)能容納下str2*/inti,j;printf("輸入字符串strl:gets(strl);printf("輸入字符串str2:");gets(str2);i=O,j=O;/*i,j分別標(biāo)志兩個字符串的第一個字符?/while(str2[i]!='\0')/?當(dāng)str[i)不是結(jié)束標(biāo)志時?/strl[j++]=str2[i++];/*把str2[i]賦給strl[j],然后j++,i++*/strl[j]='\O';puts(stri);)解2(用指針)把字符串a(chǎn)復(fù)制給b#includevoidmain(){chara[]="lamaboy.",b[20],*pl,*p2;for(pl=a,p2=b;*pll='\0';pl++,p2++)*p2=*pl;*p2='\0';p2=b;printf("stringais:%s\n",a);printf("stringbis:%s\n",p2);)解3(用函數(shù)):把字符串a(chǎn)復(fù)制給bstdio.h>voidscpy(char*pl,char*p2);voidmain(){chara[]="lamaboy.",b[20];scpy(a,b);printf("stringais:%s\n",a);printf("stringbis:%s\n",b);)voidscpy(char*pl,char*p2)for(;*pl!='\O';pl++,p2++)*p2=*pl;*p2='\0';}連接字符串解1(用數(shù)組用tdio.h>#inng.h>/?用到了字符串函數(shù)?/voidmain(){charstrl[80]/str2[80];/*連接后str1,應(yīng)能容納下str2*/intij;printf("輸入字符串strl:");gets(stri);printf("輸入字符串str2:");gets(str2);i=OJ=strlen(strl);/?求出str!中字符的個數(shù),讓j移到str1的結(jié)束標(biāo)志處?/while(str2[i]!=、〇??當(dāng)str[i]不是結(jié)束標(biāo)志時?/strl[j++]=str2「++];/*把str2[リ賦給strl[j],然后j++J++*/strl[j]='\O';puts(strl);)/?也可改為:i=OJ=O;while(strl(j]l=,\O')j++;ッ解2(用指針):#includ>voidmain(){chara[80]="lamaboy.";charb[20]="Youareagial.";char*pl,*p2;printf("oldstringais:%s\n",a);printf("oldstringbis:%s\n",b);for(pl=a;*pl!=、(y;pl++);〃讓p!指向字符數(shù)組a的后面for(p2=b;*p2!='\0';pl++,p2++)〃再把字符串b,復(fù)制到字符數(shù)組a的后面*pl=*p2;*pl='\0printf("newstringais:%s\n",a);)8I 寫兩個字符串大小比較函數(shù)MyStrCmp(char*strl,chat*str2),當(dāng)strl與str2相等時返回0,當(dāng)strl大于str2時返回一個正整數(shù),當(dāng)strl小于str2時返回ー個負(fù)整數(shù)。要求:不準(zhǔn)使用系統(tǒng)strcmp函數(shù)。解法1:不用函數(shù)。#ino.h>voidmain()charsl[80],s2[80];/?連接后strl,應(yīng)能容納下str2ツinti,flag;printf("輸入字符串strl:");gets(sl);printf("輸入字符串str2:");gets(s2);i=0;/?當(dāng)對應(yīng)字符相等,且$邛)不等于0時,令i++*/while((sl[i]==s2[]!='\0'))i++;/?當(dāng)對應(yīng)字符不相等,或sl[i)為結(jié)束標(biāo)志時,進(jìn)行下面的判斷?/if(s邛]==へ0へ0)/?如果兩個字符串都結(jié)束?/flag=O;/?令resuit等于〇?/eIse/?否則令resuit等于對應(yīng)字符之差?/flag=sl[i]-s2[i];/*下面打印結(jié)果?/printf("result:%d\n",flag);if(flag==O)printf("sl=s2\n");/?打印sl=s2*/eIseif(flag>0)printf("sl>s2\n");/?打印sl>s2*/elsepri\n");)解2(用函數(shù)):#include"stdio.h"intMyStrCmp(char*strl,char*str2){inti=0;/?如果兩個字符串的字符相等,繼續(xù)往后進(jìn)行比較?/while((strl[i]==strrl[i]!='\0'))i++;07?如果字符不等或字符串1的字符為‘ヽ,結(jié)束循環(huán)ッ/?如果兩個字符串都到結(jié)束標(biāo)志,說明兩個字符串相等,返回〇?/if{(strl[i]=="\0i]=='\O'))return0;else/?否則,輸出兩個字符串中相應(yīng)兩個字符的ASCII碼的差?/return(strl[i]-str2[i]);)voidmain(){charstrl[]="Aood"/str2[]="Good'\flag;flag=MyStrCmp(strlzstr2);printf("%d\n”,flag);if(flag==O)printf("sl=s2、バ);/?扌丁E卩sl=s2ツelseif(flag>0)printf(”sl>s2\n");/*打印sl>s2*/elsepri\n");)解3(指針函數(shù)):intMyStrCmp(char*strlzchar*str2){inti=0;while(*(strl+i)==*(str2+i))if(*(strl+i++)==,\0')return0;return*(strl+i)-*(str2+i);)voidmain(){charstrl[]="HooAd"/str2[]=,,Hood"zflag;flag=MyStrCmp(strlzstr2);printf("%d\nツflag);if(flag==O)printf("sl=s2\n");/*打印sl=s2*/elseif(flag>0)printf("sl>s2\n);/*打印sl>s2*/elsePs2\n");)解4(與解3的函數(shù)寫法不同)intMyStrCmp(char*strl,char*str2){inti=0;for(;*strl==*str2;strl++,str2++)if(*strl=='\O')return0;return*strl-*str2;)voidmain(){charstrl[]ゴAood”,str2[]="Hood"Jlag;flag=MyStrCmp(strlzstr2);printf("%d\n",flag);if(flag==0)printf("sl=s2\n");/?打印sl=s2*/elseif(flag>0)printf(”sl>s2\n");/*打印sl>s2*/elseprinn");)把字符串str2插入到字符串stri的第n個字符處#include"stdio.h"#include"string.h"voidinsert(intn#charstrl[],charstr2[]){intij;chars[30];/*把strl口中f以后的字符,復(fù)制到臨時的s口中?/i=n;j=0;while((strl[i])!=W)s[j++]=strl[i++];sD]='\O';/?把str2口中的字符,復(fù)制到strl。的f后?/j=n;i=0;while((str2[i])!='\0')strl[j++]=str2[i++];/?把s口中的字符,復(fù)制到str1口后面?/i=0;while((s[i])!='\0')strl[j++]=s[i++];str1U]='\O';puts(strl);}voidmain(){charstrl[80]="Firststring";charstr2ロゴSecondstring'1;intn;puts(strl);puts(str2);printf("\n");printf("、輸入要把str2插入到strl中第幾的個字符后面:");scanf(”%d",insert(n,strl,str2);)d六、打印圖案打印五階單位矩陣tdio.h>main(){inta[5][5]={0},ij;for(i)for(j=0;if(i==j||i==4-j)a[i][j]=l;for++){for(+)printf(”%3d”,a[i皿);printf("\n");}}打印九行九列乘法九九表解1:#include#defineROW9#defineCOL9main()(intij;for(i=++){COL=;j++)print"'%4dソ?j);printf("\n");)printf("\n");)解2:#dio.h>#defineROW9main()(intij;foOW;i++){for(j=)/?與解1不同,此處j<=i*/printf("%4d,i*j);printf("\n");)printf("\n");)打印十行的楊輝三角形:1112112 3 11464115101051#defineNil#include#onio.h>voidmain()(intij,a[N][N];for(i){a皿1)=1;/*第i行第1列是1*/a皿口=1;/*第i行,第i列出是1*/)for(i=3;從第3行起,除上面元素外?/forl;j++)/?都是其上一行同列及左邊一列元素之和?/a[i]D]=a[i-l][j-l]+a[i-l][j];for(i=l;i{fo;j++)printf("%4d",a[i][j]);printf("\n");}printf("\n");)打印上三角形/?打印上三角形**********************7#include"stdio.h"voidmain()(intij,k;for(i+)(f6-i;j++)/?打印每一行左邊的空格?/printf("for(k=;k++)/?每行再打印奇數(shù)個星號?/printprint甲、n\n");/?每行打印完后,換行?/))打印下三角形/?打印倒三角形**********?*/#inelude"stdio.h"voidmain(){intfor(i=l;i{for(j+)printf("n);for(k=;k++)printf("*");printf("\n");}}6?打印菱形/?打印菱形******************************************/#include"stdio.h"voidmain(){inti,j,k;fo;i++)for(;j++)printf("");fori-l;k++)printf("*M);printf("\n)for(i=)(for(j=l;)printf("H);for(k=lk++)printf("?',);printf("\n");))七、遞歸法遞歸法一ー求最大公約數(shù)include"stdio.h"hef(intmjntn){intr;r=m%n;if(r==O)return(n);else(m=n;n=r;)hcf(m,n);)voidmain(){intm,n,h;printf("Enterm,n:");seanf("%d,%d"h=hcf(m,n);printf("H.C.F=%d\n",h);}猴子吃桃遞歸#includ>intnum(intn){intc;if(n==l)c=l;elsec=2*(num(n-1)+1);returnc;voidmain(){printf("num=%d\n"/num(10));)遞歸法求裴波拉契數(shù)列#inelude"stdio.h"intfib(intn)(longc;if(n==l||n==2)c=l;elsec=fib(n-2)+fib(n-l);returnc;}voidmain()(intしn=0;for(i=l)(printf("%12ld"/fib(i));n++;if(n%5==0)printf("\n");})遞歸法求的值。分析:函數(shù)的值為:1 n=0;x*xn-1n>0o#inclu>doubleppow(doublexjntn){doublez;if(n==0)z=l;e
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年壬二酸合作協(xié)議書
- 2025年汽車減震元件合作協(xié)議書
- 2025年種植施肥機械合作協(xié)議書
- 2025年非熱殺菌先進(jìn)設(shè)備合作協(xié)議書
- 人教版 八年級英語下冊 Unit 1 單元綜合測試卷(2025年春)
- 2025年產(chǎn)品來料加工協(xié)議(三篇)
- 2025年個人投資理財委托協(xié)議簡單版(2篇)
- 2025年二灰拌合場地租賃協(xié)議范文(2篇)
- 2025年九年級化學(xué)實驗室工作總結(jié)模版(二篇)
- 2025年產(chǎn)品外觀專用協(xié)議標(biāo)準(zhǔn)版本(2篇)
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語言學(xué)概論》自考復(fù)習(xí)題庫(含答案)
- 2025年機關(guān)工會個人工作計劃
- 2024年全國卷新課標(biāo)1高考英語試題及答案
- 華為經(jīng)營管理-華為激勵機制(6版)
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測試+英語+ 含答案
- 2024護理不良事件分析
- 光伏項目的投資估算設(shè)計概算以及財務(wù)評價介紹
- 2024新版《藥品管理法》培訓(xùn)課件
- 干燥綜合征診斷及治療指南
評論
0/150
提交評論