C语言模板程序新手必看.docx

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

C语言模板程序新手必看.docx

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

C语言模板程序新手必看.docx

C语言模板程序新手必看

C语言模板程序

1

求两个数最大公约数

方法一:

辗转相除法

思路:

两个数,用较大的数除以较小的数,所得余数与较小的数记为新的两个数,再重复之前的过程,直到余数为0,这时较大的数就是最大公约数。

完整程序

#include<>intmain(){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){do{r=m%n;m=n;n=r;}while(n);returnm;}

调用函数

#include<>intmain(){intm,n,r;intgcd(intm,intn);scanf("%d,%d",&m,&n);gcd(intm,intn);printf("greatestcommondivisoris%d\n",m);return0;}

方法二:

更相减损法

思路:

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

完整程序

#include<>intmain(){intm,n;scanf("%d,%d",&m,&n);while(m!

=n){if(m>n)m-=n;elsen-=m;}printf("greatestcommondivisoris%d\n",m);return0;}

封装函数

intgcd(intm,intn){while(m!

=n){if(m>n)m-=n;elsen-=m;}returnm;}

调用函数

#include<>intmain(){intm,n,r;intgcd(intm,intn);scanf("%d,%d",&m,&n);printf("greatestcommondivisoris%d\n",gcd(m,n));return0;}

2

求两个数最小公倍数

 

思路:

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

完整程序

#include<>intmain(){intm,n,i;scanf("%d,%d",&m,&n);for(i=(m>nm:

n);;i++)if(i%m==0&&i%n==0){printf("leasecommonmultipleis%d",i);break;}return0;}

封装函数

intlcm(intm,intn){inti;for(i=(m>nm:

n);;i++)if(i%m==0&&i%n==0)returni;}

调用函数

#include<>intmain(){intm,n,i;intlcm(intm,intn);scanf("%d,%d",&m,&n);printf("leasecommonmultipleis%d",lcm(m,n));return0;}

3

判断素数

 

思路:

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

完整程序

#include<>#include<>intmain(){intnum;inti,k,flag=1;scanf("%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!

",num);return0;}

封装函数

intsushu(intnum){inti,k;k=sqrt(num);for(i=2;i<=k;i++){if(num%i==0)return0;}return1;}

调用函数

#include<>#include<>intmain(){intnum;intsushu(intnum);scanf("%d",&num);if(sushu(num)==0)printf("%disn'taprimenumber!

",num);elseprintf("%disaprimenumber!

",num);return0;}

4

冒泡排序(升序)

 

思路:

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

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

共进行N-1趟排序。

完整程序

#include<>#defineN10intmain(){intnum[N];inti,j;intt;for(i=0;inum[j+1]){t=num[j];num[j]=num[j+1];num[j+1]=t;}for(i=0;i

封装函数

voidmaopao(intnum[N]){inti,j;intt;for(i=0;inum[j+1]){t=num[j];num[j]=num[j+1];num[j+1]=t;}}

调用函数

#include<>#defineN10intmain(){intnum[N];inti,j;intt;voidmaopao(intnum[N]);for(i=0;i

5

选择排序(升序)

 

思路:

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

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

共进行N-1趟排序。

完整程序

#include<>#defineN10intmain(){intnum[N];inti,j,k;intt;for(i=0;inum[j])k=j;if(k!

=i){t=num[k];num[k]=num[i];num[i]=t;}}for(i=0;i

封装函数

voidxuanze(intnum[N]){inti,j,k;intt;for(i=0;inum[j])k=j;if(k!

=i){t=num[k];num[k]=num[i];num[i]=t;}}}

调用函数

#include<>#defineN10intmain(){intnum[N];inti,j,k;intt;voidxuanze(intnum[N]);for(i=0;i

6

折半查找(升序)

 

思路:

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

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

完整程序

#include<>#defineN10intmain(){inta[N],low=0,high=N-1,mid,i,key,flag=0;for(i=0;i

Theindexif%d",mid);flag=1;break;}elseif(a[mid]>key)high=mid-1;elselow=mid+1;}if(!

flag)printf("Notfound!

");return0;}

封装函数

intzheban(inta[N],key){intlow=0,high=N-1,mid;while(low<=high){mid=(low+high)/2;if(a[mid]==key){printf("Found!

Theindexif%d",mid);returnmid;}elseif(a[mid]>key)high=mid-1;elselow=mid+1;}printf("Notfound!

");return-1;}

调用函数

#include<>#defineN10intmain(){inta[N],low=0,high=N-1,mid,i,key,flag=0;intzheban(inta[N],key);for(i=0;i

7

找最大数

(1)两个数找最大

 

思路:

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

完整程序

#include<>intmain(){intx,y,z;scanf("%d,%d",&x,&y);z=x>yx:

y;printf("%d",z);return0;}

封装函数

intmax(intx,inty){intz;z=x>yx:

y;returnz;}

调用函数

#include<>intmain(){intx,y,z;intmax(intx,inty);scanf("%d,%d",&x,&y);printf("%d",max(x,y));return0;}

(2)数组中找最大

 

①一维数组

思路:

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

完整程序

#include<>#defineN10intmain(){intnum[N];inti,max;for(i=0;i

封装函数

intmax(intnum

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

当前位置:首页 > 人文社科 > 文学研究

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

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