资源描述:
《C语言模板程序(新手必看!!)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言模板程序第28页共28页C语言模板程序1求两个数最大公约数方法一:辗转相除法思路:两个数,用较大的数除以较小的数,所得余数与较小的数记为新的两个数,再重复之前的过程,直到余数为0,这时较大的数就是最大公约数。完整程序#includeintmain(){intm,n,r;scanf("%d,%d",&m,&n);do{r=m%n;m=n;n=r;}while(n);printf("greatestcommondivisoris%d",m);return0;}封装函数intgcd(intm,intn){do{r=m%n;m=n;n=r;}while(n);
2、returnm;}调用函数#includeintmain(){intm,n,r;intgcd(intm,intn);scanf("%d,%d",&m,&n);gcd(intm,intn);printf("greatestcommondivisoris%d",m);return0;}C语言模板程序第28页共28页方法二:更相减损法思路:两个数,用较大的数减去较小的数,所得差与较小的数记为新的两个数,再重复之前的过程,直到两个数相等,这时这两个数就是最大公约数。完整程序#includeintmain(){intm,n;scanf("%d,%d"
3、,&m,&n);while(m!=n){if(m>n)m-=n;elsen-=m;}printf("greatestcommondivisoris%d",m);return0;}封装函数intgcd(intm,intn){while(m!=n){if(m>n)m-=n;elsen-=m;}returnm;}调用函数#includeintmain(){intm,n,r;intgcd(intm,intn);scanf("%d,%d",&m,&n);printf("greatestcommondivisoris%d",gcd(m,n));return0;}2求
4、两个数最小公倍数 思路:两个数,从较大的数开始,依次找能同时整除这两个数的整数,这个整数就是这两个数的最小公倍数。完整程序C语言模板程序第28页共28页#includeintmain(){intm,n,i;scanf("%d,%d",&m,&n);for(i=(m>n?m:n);;i++)if(i%m==0&&i%n==0){printf("leasecommonmultipleis%d",i);break;}return0;}封装函数intlcm(intm,intn){inti;for(i=(m>n?m:n);;i++)if(i%m==0&&i%n==0)re
5、turni;}调用函数#includeintmain(){intm,n,i;intlcm(intm,intn);scanf("%d,%d",&m,&n);printf("leasecommonmultipleis%d",lcm(m,n));return0;}3判断素数 思路:从2开始到所求整数的开方依次求余,如果有能整除所求整数的整数,则所求整数为合数,反之为素数。完整程序C语言模板程序第28页共28页#include#includeintmain(){intnum;inti,k,flag=1;scanf("%d",&num);
6、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#includeintmain(){intnum;intsushu(intnum);
7、scanf("%d",&num);if(sushu(num)==0)printf("%disn'taprimenumber!",num);elseprintf("%disaprimenumber!",num);return0;}4冒泡排序(升序) 思路:N个数,每次比较相邻的两个数,如果前面的数大就相互交换,这样小的数就会像气泡一样往前冒。一趟排序完成后最后一个数最大。共进行N-1趟排序。完整程序C语言模板程序第28页共28页#include#defineN10