C语言模板程序新手必看知识讲解Word文档下载推荐.docx

上传人:b****2 文档编号:13906002 上传时间:2022-10-14 格式:DOCX 页数:44 大小:19.77KB
下载 相关 举报
C语言模板程序新手必看知识讲解Word文档下载推荐.docx_第1页
第1页 / 共44页
C语言模板程序新手必看知识讲解Word文档下载推荐.docx_第2页
第2页 / 共44页
C语言模板程序新手必看知识讲解Word文档下载推荐.docx_第3页
第3页 / 共44页
C语言模板程序新手必看知识讲解Word文档下载推荐.docx_第4页
第4页 / 共44页
C语言模板程序新手必看知识讲解Word文档下载推荐.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

C语言模板程序新手必看知识讲解Word文档下载推荐.docx

《C语言模板程序新手必看知识讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言模板程序新手必看知识讲解Word文档下载推荐.docx(44页珍藏版)》请在冰豆网上搜索。

C语言模板程序新手必看知识讲解Word文档下载推荐.docx

intm,n,r;

scanf("

%d,%d"

&

m,&

n);

do

{

r=m%n;

m=n;

n=r;

}

while(n);

printf("

greatestcommondivisoris%d\n"

m);

return0;

}

封装函数

intgcd(intm,intn)

returnm;

调用函数

intgcd(intm,intn);

gcd(intm,intn);

方法二:

更相减损法

两个数,用较大的数减去较小的数,所得差与较小的数记为新的两个数,再重复之前的过程,直到两个数相等,这时这两个数就是最大公约数。

intm,n;

while(m!

=n)

if(m>

n)m-=n;

elsen-=m;

gcd(m,n));

2

求两个数最小公倍数

 

两个数,从较大的数开始,依次找能同时整除这两个数的整数,这个整数就是这两个数的最小公倍数。

intm,n,i;

for(i=(m>

n?

m:

;

i++)

if(i%m==0&

&

i%n==0)

leasecommonmultipleis%d"

i);

break;

intlcm(intm,intn)

inti;

returni;

intlcm(intm,intn);

lcm(m,n));

3

判断素数

从2开始到所求整数的开方依次求余,如果有能整除所求整数的整数,则所求整数为合数,反之为素数。

math.h>

intnum;

inti,k,flag=1;

%d"

num);

k=sqrt(num);

for(i=2;

i<

=k;

if(num%i==0)printf("

%disn'

taprimenumber!

"

num);

flag=0;

if(flag)printf("

%disaprimenumber!

intsushu(intnum)

inti,k;

if(num%i==0)return0;

return1;

intsushu(intnum);

if(sushu(num)==0)printf("

elseprintf("

4

冒泡排序(升序)

N个数,每次比较相邻的两个数,如果前面的数大就相互交换,这样小的数就会像气泡一样往前冒。

一趟排序完成后最后一个数最大。

共进行N-1趟排序。

#defineN10

intnum[N];

inti,j;

intt;

for(i=0;

N;

num[i]);

N-1;

for(j=0;

j<

N-1-i;

j++)

if(num[j]>

num[j+1])

{t=num[j];

num[j]=num[j+1];

num[j+1]=t;

%d"

num[i]);

voidmaopao(intnum[N])

voidmaopao(intnum[N]);

maopao(num);

5

选择排序(升序)

N个数,每次从剩下的数中选择最小的数(记住它的下标)与这组数中最前面的数交换,数的个数依次减少。

一趟排序完成后最前面的数最小。

inti,j,k;

k=i;

for(j=i+1;

if(num[k]>

num[j])k=j;

if(k!

=i){t=num[k];

num[k]=num[i];

num[i]=t;

voidxuanze(intnum[N])

voidxuanze(intnum[N]);

xuanze(num);

6

折半查找(升序)

N个按照从小到大排列好顺序的数,再从中寻找一个数,不是依次扫描每个数,而是先把这组数的中间元素拿出来与所找的数比较,如果中间数小于所找的数,则在这组数的后半段寻找;

如果中间数大于所找的数,则在这组数的前半段寻找。

找到了,输出这个数的下标,如果找不到,输出Notfound!

inta[N],low=0,high=N-1,mid,i,key,flag=0;

a[i]);

key);

while(low<

=high)

mid=(low+high)/2;

if(a[mid]==key)

Found!

Theindexif%d"

mid);

flag=1;

elseif(a[mid]>

key)high=mid-1;

elselow=mid+1;

if(!

flag)printf("

Notfound!

);

intzheban(inta[N],key)

intlow=0,high=N-1,mid;

returnmid;

return-1;

intzheban(inta[N],key);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1