自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有余力,则学文。

大多数人的努力程度之低,根本没有到达可以拼天赋的地步。

  • 博客(29)
  • 收藏
  • 关注

原创 C语言经典算法100例-041-静态局部变量的使用

当在一个函数中声明一个变量前加static时,该变量便是静态局部变量,特点是1.生存期为整个程序,不会随着函数的退出而消失。2.作用域仍未函数内部,在其他地方无法使用该静态局部变量。下面是一个小例子进行演示:#include #include void varfunc();void main(){ int i; for(i=0;i<3;i++)

2014-03-24 21:40:45 716

原创 C语言经典算法100例-039-排序队列中插入新元素

思想很简单:找到新元素的插入位置,将之后的元素右移,插入新元素即可。例子是以一个长为11的数组为例:#include #include int main(){ int a[11]={1,2,4,7,9,13,18,24,32,45}; int i,num,pos=0; scanf("%d",&num); if(num>=a[9])

2014-03-24 20:38:19 686

原创 C语言经典算法100例-037-给10个数排序

使用简单选择排序法给10个数排序,思路如下:将最小的元素找出并放到序列的最前面,在剩下的元素中继续找出最小的元素放在第二个位置上,以此类推,每次选出一个元素,即可确定其再有序序列中的最终位置。#include #include //简单选择排序法int main(){ int a[10]; int i,j,tmp,minNum,n=10; pr

2014-03-23 21:50:47 1931

原创 C语言经典算法100例-036-求100之内的素数

依旧是按照判定素数的思想:一个能被[2,sqrt(n+1)]之间整除的整数n不是素数。程序如下:#include #include #include int main(){ int prime; int i,j,t; for(i=1;i<100;i++) { prime=1; t=sqrt(i+1)

2014-03-23 20:29:14 806

原创 C语言经典算法100例-032~35

这几个程序是关于图形方面的掩饰,并没有什么技术点,而且Tc下的图形已经落伍了,所以在这里省略掉。

2014-03-23 19:44:31 1123

原创 C语言经典算法100例-031-判断星期几

题目如下:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。比较简单,直接看程序吧。#include #include #include int main(){ char letter; while((letter=getch())!='y') { switch(letter)

2014-03-23 19:31:21 942

原创 C语言中getch()与getchar()的区别

getch()和getchar()的区别 getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回

2014-03-11 16:25:27 834

原创 假如我那时再努力点

假如我高中再努力点,那么我可以多考二十分,那么我上的就是哈工大、上海交大。假如我大学再努力点,那么我可以考过雅思,那么我可以出国留学。曾经的天之骄子,已经堕落为现在的落魄书生。生活从不耍滑头,你得到的,不会比你所付出的多一点点。只有流泪播种的,才能欢笑收割。印象中最刻苦的时候是在高考前三个月,每天五点半起来看生物,晚上12点才睡,三个月的努力,让我由中等生冲进了优等生的行列。

2014-03-06 11:22:21 725

原创 C语言经典算法100例-030-判断一个数是否为回文数

所谓回文数,即是正序与逆序相等的一个数,如121,12321,10501等。写程序判断输入的数是否为回文数。1.分析:表面上看,我们似乎要这么做,把各个位分离,然后把第一个数跟最后一个数比较,第二个跟倒数第二个....等等。注意,这样做太复杂了,回文数的条件是正序等于逆序,那么我们为什么不把逆序的值求出来与正序值比较呢,我们已经很擅长做逆序的工作,所以我们有了这样的程序:#include

2014-03-05 15:42:20 2671

原创 C语言经典算法100例-029-求一个整数的位数且逆序打印

这道题也很简单:利用模运算和除运算依次求出个、十、百。。。。位的值并打印,然后位数累加即可。直接看程序:#include #include int main(){ int i; int digits(int); printf("Please input an integer!\n"); scanf("%d",&i); printf("It c

2014-03-05 14:29:27 835

原创 C语言经典算法100例-028-五个人问岁数

题目很简单,直接看原文:有5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁),再往回推

2014-03-05 13:56:40 1269

原创 Abap-Smartforms中如何去掉开头的中文文本

比如我们的客户是:匈牙利Best Fruit co.我们希望去掉开头的匈牙利三个字,而输出后面的英文,如何做呢?"截取非中文字符串 添加 2014-3-5DATA: l_uccp TYPE i, "转化为ASCIId后的整数值 l_lenth TYPE i, "字符串长度 l_pos TYPE i, "非中文字符开始的位置 l_rest

2014-03-05 10:31:11 1015

原创 C语言经典算法100例-027-用递归逆序输出字符

先来看题:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。1.分析,跟上一题相似,打印第5的字符前先递归打印第4个字符,直到第1个字符,然后从第1个字符依次打到第5个。2.源代码:#include #include #include void print(int);int main(){ printf("Input chars:\n"

2014-03-04 21:38:01 1436

原创 逐梦之路充满艰辛

谁也不能预测未来,当你选择的时候,你不知道前面你会面对什么,是光明,抑或黑暗,是荣耀,抑或屈辱。当人们满怀希望得踏上自己逐梦的道路上时,他们不知道,他们将要面对多少艰辛。然而,我们依旧应该义无反顾得追逐梦想,因为放弃、妥协是最容易不过了,当我们舍弃原本安稳的生活,踏上一条充满荆棘的道路时,我们变得成熟。我不想让恐惧、懒惰来左右我的选择,我已经认定,我不能再这样混下去,我要走出去,走出去才有挑战,走

2014-03-04 12:55:49 861

原创 C语言经典算法100例-026-递归求阶乘

我们利用这道题来了解一下递归,复习一下递归的几个点。1.递归公式2.递归出口比较简单,直接看程序和注释即可:#include #include //用递归求阶乘long int fn(int); //先声明函数原型int main(){ int n; printf("Please input an integer!\n"); scanf("%d

2014-03-04 11:47:56 975

原创 C语言经典算法100例-025-求1+2!+3!+...+20!的和

题目如标题所说,大家一定觉得很简单,确实,求阶乘谁不会啊,完事做个求和不就成了么,我也是这么想的,于是想都不想开始编代码:#include #include //求1到20的阶乘的和int main(){ int i,j; long int sum,n; sum=0; for(i=1;i<=20;i++) { n=1;

2014-03-04 11:34:35 4109

原创 C语言经典算法100例-024-求数列的前20 项和,2/1,3/2,5/3,8/5...

我们来看题:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20 项之和。1。分析:问题的关键在于找出每一项与前一项的关系,分析得到,每一项的分子为前一项分子与分母的和,而分母为前一项的分子,所以利用循环,每次改变分子分母的值然后求和就可以了,而这里分子分母的改变都利用了一项的分子,所以需要一个临时变量保存上一项的分子。2.源程序:来看程序,

2014-03-04 11:13:19 2546

原创 C语言经典算法100例-023-打印菱形

来看题目:打印如下的菱形。1.分析,常见的打印问题都是通过i,j来控制打印的位置进行打印,这道题也不例外。将菱形分为上下两部分,第一部分为1到4行,第二部分为5到7行,第一部分通过分析我们得到这样的规律,若i在区间[0,4)内循环,那么打印空格的位置在[0,3-i),而打印*的位置是[3-i,i+4),同理得到第二部分的规律吧,i在区间[0,3)内循环时,空格位置为[0,i+1),而*位置在区

2014-03-04 10:11:28 1232

原创 C语言经典算法100例-022-乒乓球比赛名单问题

我们来看题:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 1.分析,如果没有任何规矩可言,那么a可以跟x,y,z中的任何一个比,而b,c同样是,但是规矩是有的,那就是a,b,c不能和相同的对手比赛。所以,方法就是,三层循环,然后用条件语句层层筛选,打

2014-03-03 21:41:11 5727 1

原创 C语言经典算法100例-021-猴子吃桃问题

有前面几道题的基础,这道题还是比较简单的,我们来看问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.分析,我们先来看看这个问题的数学模型:设n为第一天摘的桃子数。那么根据已知条件有:s1=n/2-1;s2

2014-03-03 20:25:11 1416 3

原创 C语言经典算法100例-020-小球自由下落问题

我们来看题:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第10 次反弹多高?1。分析,假设s代表路程,h代表弹起的高度,那么我们先做出数学模型:s1=100;h1=s1/2;先看s2和s3的值如何求s2=s1+2*h1;s3=s2+2*h2; 其中h2=h1/2,所以有s10=s9+2*h9。按照这个思路

2014-03-03 17:36:24 2435

原创 C语言经典算法100例-019-求完数

我们来看题:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000 以内的所有完数。1.分析:这里的因子指除了他本身所有可以被它整除的整数,包括1在内。这样的话程序就比较简单了。2.来看代码:#include #include //求1000内的完数int main(){ int sum; int i,j; f

2014-03-03 16:40:54 1277

原创 C语言经典算法100例-018-求s=a+aa+aaa+aaaa+aa...a 的值

题目如下:求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共有5 个数相加),用户可以输入a和项数n。这道题还是有点小难度的,关键在于计算每项的和。其实可以这样算,先看位数,循环i,然后依次累加a*10的i幂,但介于c语言没有现成的幂函数,所以必须要用别的方法,具体思路是利用这样一个规律:a1=a;a2=

2014-03-03 15:58:46 9515

原创 C语言经典算法100例-017-统计输入的字符数

题目如下:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.分析:字符和整型可以隐式互转,字符即整数。输出结束的标示符为‘\n’。2.来看源程序:#include #include int main(){ int letters=0,spaces=0,numbers=0,others=0; char c; printf("

2014-03-03 11:42:15 1284

原创 C语言经典算法100例-016-求最大公约数和最小公倍数

题目如下:输入两个正整数m 和n,求其最大公约数和最小公倍数。1.分析:利用辗转相除法计算最大公约数,再求最小公倍数。下面是辗转相除法的理论:辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,252和105的最大公约数是21(252 = 21 × 12;105 = 21 × 5);因为252 / 105 = 2余42,所以105

2014-03-03 10:32:29 1155

原创 C语言经典算法100例-015-条件运算符的使用

题目很简单,主要是练习条件运算法的简易写法,熟悉此方法可以让程序更加简洁易读。利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用A 表示,60-89 分之间的用B 表示,60 分以下的用C 表示。1.分析,条件运算法简易写法为 (a>b)?a:b表示:若a>b,则表达式值为a,否则为b.2.源代码:#include #include int main(){

2014-03-03 08:41:48 1398

原创 C语言经典算法100例-014-分解质因数

题目如下:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 1.分析:思路是这样的,从1到N先找出最小的质因数,如果等于本身,那么说明只有一个质因数,如果不是,那么将该质因数打印出来,并将N/该质因数作为新的N值进行运算。2.源代码:#include #include //将一个正整数分解质因数int main(){ int i,n;

2014-03-02 22:54:38 10219 2

原创 C语言经典算法100例-013-求水仙花数

题目如下:打印出所有的水仙花数。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 1.分析,判断水仙花数关键在于把该数的各个位求出来,然后算出立方和与自己比较。2.程序如下:注意求各个位立方和的技巧。#include #include //找出所有的水仙花数int m

2014-03-02 21:50:23 3302 1

原创 C语言经典算法100例-012-求素数

题目如下:判断101-200之间有多少个素数,并输出所有素数。1.分析:关键的问题在于如何判断一个数是否为素数,一个比较好的办法是,如果一个数n能被2到sqr(n+1)之间的任何一个数整除的话,那么他就不是素数。根据该条件写出源程序。2.源程序#include #include #include //判断101到200之间有多少素数,并将他们全部输出int main

2014-03-02 21:27:01 1264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除