100个经典的C算法

1.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔

子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数

为多少?

#include<stdio.h>
#include<stdlib.h>
int functionsum(int n)
{
if(n==1||n==2)return 1;
else
return functionsum(n-2)+functionsum(n-1);
}
void main()
{
int n;
printf("题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少\n");
printf("please input month num=\n");
scanf("%d",&n);
printf("\n totle=%d\n",functionsum(n));
}

2.判断101-200之间有多少个素数,并输出所有素数。

#include<stdio.h>
#include<stdlib.h>

void functionOther(int n,int m)
{
int i,j;
int sum=0;
for(i=n;i<=m;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
else
{
if(j==i-1)
{
sum+=1;
printf("the %d is%d \t",sum,i);
}
continue;
}

}

}

}

void main()
{
 int n,m;
 scanf("%d %d",&n,&m);
 functionOther(n,m);

}

3.

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位

数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方

+5的三次方+3的三次方。

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int reGeWei(int n)
{
int s=n%10;
return s*s*s;
}

int reShiWei(int n)
{
int s=(n/10)%10;
return s*s*s;
}
int reBaiWei(int n)
{
int s=n/100;
return s*s*s;
}
void functionOther()
{
int i,j;
for(i=101;i<1000;i++)
{
int sum=reGeWei(i)+reShiWei(i)+reBaiWei(i);
if(sum==i)
{
printf("%d is shuixianhua shu\n",i);
}
}

}

void main()
{
functionOther();

}

4.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

#include<stdio.h>
#include<stdlib.h>

void functionOther(int n,int i)
{

if(n%i==0)
{
printf("%d",i);
if(n/i>1)
{
printf("*");
}

functionOther(n/i,i);
}
else
{
functionOther(n,i+1);
}

}

void main()
{
int n;
scanf("%d",&n);

printf("%d=",n);
functionOther(n,2);
}

5.题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

#include<stdio.h>
#include<stdlib.h>
int functionOther(int n,int m)
{
int min=n<m?n:m;
int max=n>m?n:m;
int temp;
while(max%min!=0)
{
temp=min;
min=max%min;
max=temp;
if(max<min)
{
temp=max;
max=min;
min=temp;
}
printf("min=%d,max=%d",min,max);
}
return min;
}

void main()
{
int n,m;
scanf("%d %d",&n,&m);
printf("the max gongyueshu is %d\n",functionOther(n,m));
printf("the min gongbeishu is %d\n",n*m/functionOther(n,m));

}

6.题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数

#include<stdio.h>
#include<stdlib.h>

void main()
{
char c;
int alpnum=0,space=0,otherchar=0;
while((c=getchar())!=‘\n‘)//主要是学习了这个字符串输入方式
{
if(c>=‘a‘&&c<=‘z‘||c>=‘A‘&&c<=‘Z‘)
{
alpnum++;
}
else if(c==‘ ‘)
{
space++;
}
else
{
otherchar++;
}
}
printf("alpnum=%d,space=%d,otherchar=%d",alpnum,space,otherchar);

}

时间: 2024-12-24 08:52:42

100个经典的C算法的相关文章

C语言100个经典算法

POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8

C语言100道经典算法

经典的100个c算法 C语言的学习要从基础,100个经典的算法真不知道关于语言的应该发在那里,所以就在这里发了,发贴的原因有2个,第一个,这东西非常值得学习,第二个,想..........嘿嘿,大家应该能猜到吧语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

语言的学习基础,100个经典的算法

POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8

C语言100个经典算法源码片段

将写内容过程中比较常用的内容备份一次,下边内容段是关于C语言100个经典算法片段的内容. C语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 程序源代码: main() { long

大公司面试经典数据结构与算法题C#解答

几个大公司(IBM.MicroSoft and so on)面试经典数据结构与算法题C#解答 1.链表反转 我想到了两种比较简单的方法 第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表中(也就是原链表第一个元素被插入成新链表的最后一个元素). 第二种是不需要开新的链表,而是逐步反转原链表中元素的指向,例如: 原链表是 1->2->3->4->null  被  逐步修改为 ①2->1->null.3->4->null ②3->2->

c-大量经典的c算法---ShinePans

经典的100个c算法 算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... _________________________________________________________

经典的排序算法

这些天复习了排序这个模块,排序算法在程序员的日常工作中是必不可少的,有时候我们不知不觉就用到了排序,这是因为高级语言系统已经比较完美的封装和优化了排序算法,并且在笔试,面试等方面我们都能见到它的身影.下面结合那本大三的教材:严版的<数据结构>,来说一说这几个经典的排序算法,如果有不对的欢迎指正! 首先我们还是先说基础概念(按书上说的),万变离不开概念,没有概念没有规矩,那可不行. 1:内部排序和外部排序(我们重点说内部排序(因为我们最常用到)) 内排序:在排序的时间数据对象全部存放在内存的排序

100个经典C语言程序(益智类)

100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就 应为62-m.程序中利用反余弦函数acos计算坐标(x,y)的对应关系. #include<st

100部经典中国电影,你看过几部?

100部经典中国电影,你看过几部? 100部经典中国风电影,年代不同,风格迥异. 小编五月特别喜欢:<胭脂扣><东邪西毒><花样年华><卧虎藏龙><上海之夜><霸王别姬><龙门客栈>这些,亲们,你们喜欢吗? 01 1948<小城之春>中国,费穆 02 1986<英雄本色>香港,吴宇森,02/08/1986,$34,651,324 03 1990<阿飞正传>香港,王家卫,15/12/199