欢迎来到天天文库
浏览记录
ID:15558560
大小:50.50 KB
页数:21页
时间:2018-08-04
《c语言经典题目集锦》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言经典题目集锦本来是想写个《C语言经典题目系列》,本系列包括一些经典算法题目,但由于时间问题,现在只是收集了不多题目且只做了一部分,就先发上来了。写此目的帮助一些学c语言的人入门及运用一些算法,由于水平有限错误在所难免及本来这些题目不是很难高手就不用看了,其中错误欢迎大家指正。1、【问题描述】梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法【思路】看到此题目容易想到用递归的方法来做,因为递归是一种描述和解决结构自相似问题的基本算法,而N阶楼梯问题和N-1阶、N-2阶的结构完全相同。解决递归问题可以分为两个部分,第一部分是一些
2、特殊(基础)情况,用直接法解,即始基;第二部分与原问题相似,可用类似的方法解决(即递归),但比原问题的规模要小。定义intcount(intn)函数求解N阶楼梯的走法,基于上述思想,可知:N阶楼梯问题的始基是N==1、N==2两种情况;上楼可以一步上一阶,也可以一步上二阶,当上一阶时问题规模变为N-1,当上二阶时问题规模变为N-2,所以总的情况为count(n-1)+count(n-2)。【代码】cCODE:#include#includeintcount(intn);/*counthowmanywaystoclimbupNst
3、epsstairs.*/intmain(intargc,char*argv[]){intn,ct;printf("pleaseinputn:");scanf("%d",&n);ct=count(n);printf("thereare%dwaystoclimbupNstepsstairs!",ct);system("PAUSE");return0;}intcount(intn){if(1==n)return1;elseif(2==n)return2;elsereturncount(n-1)+count(n-2);}【程序输入输出】forexamplepleas
4、einputn:5thereare8waystoclimbupNstepsstairs!2、【问题描述】Armstrong数具有如下特征:一个n位数等于其个位数的n次方之和。如:153=13+53+331634=14+64+34+44找出2、3、4、5位的所有Armstrong数。【思路】看到此题我第一反应是用枚举法,给定m(10<=m<=99999),首先判断m的位数n,然后判断它是否等于各位数的n次方之和。定义函数intjudgeDigit(intm),用于判断给定参数m的位数;定义函数intjudgeEqual(intm,intn),其中m为给定的数,n为m的
5、位数,用于判断m是否等于各位数的n次方之和。【代码】cCODE:#include#include#includeintjudgeDigit(intm);/*Thisfunctionreturnthedigitofparameterm*/voidjudgeEqual(intm,intn);/*parametermisainteger,parameternisthedigitofm,thisfunctionisusedtojudgemwhetherisaArmstrongintegerandoutputit*/int
6、main(intargc,char**argv){inti,len;printf("All2digitto5digitArmstrongintegersarefollowing:");for(i=10;i<=99999;i++){len=judgeDigit(i);judgeEqual(i,len);}printf("");system("PAUSE");return0;}intjudgeDigit(intm){/*Thisfunctionreturnthedigitofparameterm*/intlen=0;do{++len;m=m/10;}while(
7、m);returnlen;}voidjudgeEqual(intm,intn){/*parametermisainteger,parameternisthedigitofm,thisfunctionisusedtojudgemwhetherisaArmstrongintegerandoutputit*/intj,temp=m,sum=0;for(j=1;j<=n;j++){sum+=(int)(pow(temp%10,n));temp=temp/10;}if(m==sum)/*ifmisequaltosum,thatistosaymisaArmstrongint
此文档下载收益归作者所有