C语言模板程序新手必看Word文件下载.docx

上传人:b****4 文档编号:15983104 上传时间:2022-11-17 格式:DOCX 页数:13 大小:17.32KB
下载 相关 举报
C语言模板程序新手必看Word文件下载.docx_第1页
第1页 / 共13页
C语言模板程序新手必看Word文件下载.docx_第2页
第2页 / 共13页
C语言模板程序新手必看Word文件下载.docx_第3页
第3页 / 共13页
C语言模板程序新手必看Word文件下载.docx_第4页
第4页 / 共13页
C语言模板程序新手必看Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言模板程序新手必看Word文件下载.docx

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

C语言模板程序新手必看Word文件下载.docx

m=n;

n=r;

}while(n);

printf("

greatestcommondivisoris%d\n"

m);

return0;

}

封装函数

intgcd(intm,intn){do{r=m%n;

returnm;

调用函数

intgcd(intm,intn);

gcd(intm,intn);

方法二:

更相减损法

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

intmain(){intm,n;

while(m!

=n){if(m>

n)m-=n;

elsen-=m;

}printf("

intgcd(intm,intn){while(m!

}returnm;

gcd(m,n));

2

求两个数最小公倍数

 

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

intmain(){intm,n,i;

for(i=(m>

nm:

;

i++)if(i%m==0&

&

i%n==0){printf("

leasecommonmultipleis%d"

i);

break;

}return0;

intlcm(intm,intn){inti;

i%n==0)returni;

intlcm(intm,intn);

lcm(m,n));

3

判断素数

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

intmain(){intnum;

inti,k,flag=1;

%d"

num);

k=sqrt(num);

for(i=2;

i<

=k;

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

%disn'

taprimenumber!

"

num);

flag=0;

}if(flag)printf("

%disaprimenumber!

intsushu(intnum){inti,k;

i++){if(num%i==0)return0;

}return1;

intsushu(intnum);

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

elseprintf("

4

冒泡排序(升序)

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

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

共进行N-1趟排序。

#defineN10intmain(){intnum[N];

inti,j;

intt;

for(i=0;

N;

i++)scanf("

num[i]);

N-1;

i++)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;

}for(i=0;

i++)printf("

%d"

num[i]);

voidmaopao(intnum[N]){inti,j;

}}

voidmaopao(intnum[N]);

maopao(num);

5

选择排序(升序)

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

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

inti,j,k;

i++){k=i;

for(j=i+1;

j++)if(num[k]>

num[j])k=j;

if(k!

=i){t=num[k];

num[k]=num[i];

num[i]=t;

}}for(i=0;

voidxuanze(intnum[N]){inti,j,k;

}}}

voidxuanze(intnum[N]);

xuanze(num);

6

折半查找(升序)

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

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

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

#defineN10intmain(){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){printf("

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);

zheban(a,key);

7

找最大数

(1)两个数找最大

比较两个数,输出较大者。

intmain(){intx,y,z;

x,&

y);

z=x>

yx:

y;

z);

intmax(intx,inty){intz;

returnz;

intmax(intx,inty);

max(x,y));

(2)数组中找最大

①一维数组

让一个变量等于数组中第一个元素,从第二数开始依次进行比较,碰到更大的数则更改变量的值,直到全部比较完毕。

inti,max;

max=num[0];

for(i=1;

i++)if(max<

num[i])max=num[i];

max);

intmax(intnum

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

当前位置:首页 > 高中教育 > 其它课程

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

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