C语言模板程序新手必看

上传人:公**** 文档编号:473968721 上传时间:2023-03-11 格式:DOC 页数:28 大小:168.50KB
返回 下载 相关 举报
C语言模板程序新手必看_第1页
第1页 / 共28页
C语言模板程序新手必看_第2页
第2页 / 共28页
C语言模板程序新手必看_第3页
第3页 / 共28页
C语言模板程序新手必看_第4页
第4页 / 共28页
C语言模板程序新手必看_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言模板程序新手必看》由会员分享,可在线阅读,更多相关《C语言模板程序新手必看(28页珍藏版)》请在金锄头文库上搜索。

1、C语言模板程序1求两个数最大公约数措施一:辗转相除法思路:两个数,用较大的数除以较小的数,所得余数与较小的数记为新的两个数,再反复之前的过程,直到余数为0,这时较大的数就是最大公约数。完整程序#includeint main() int m,n,r; scanf(%d,%d,&m,&n); do r=m%n; m=n; n=r; while(n); printf(greatest common divisor is %dn,m); return 0;封装函数int gcd(int m,int n) do r=m%n; m=n; n=r; while(n); return m;调用函数#incl

2、udeint main() int m,n,r; int gcd(int m,int n); scanf(%d,%d,&m,&n); gcd(int m,int n); printf(greatest common divisor is %dn,m); return 0;措施二:更相减损法思路:两个数,用较大的数减去较小的数,所得差与较小的数记为新的两个数,再反复之前的过程,直到两个数相等,这时这两个数就是最大公约数。完整程序#includeint main() int m,n; scanf(%d,%d,&m,&n); while(m!=n) if(mn) m-=n; else n-=m; p

3、rintf(greatest common divisor is %dn,m); return 0;封装函数int gcd(int m,int n) while(m!=n) if(mn) m-=n; else n-=m; return m;调用函数#includeint main() int m,n,r; int gcd(int m,int n); scanf(%d,%d,&m,&n); printf(greatest common divisor is %dn,gcd(m,n); return 0;2求两个数最小公倍数思路:两个数,从较大的数开始,依次找能同步整除这两个数的整数,这个整数就是

4、这两个数的最小公倍数。完整程序#includeint main() int m,n,i; scanf(%d,%d,&m,&n); for(i=(mn?m:n);i+) if(i%m=0 & i%n=0) printf(lease common multiple is %d,i); break; return 0;封装函数int lcm(int m,int n) int i; for(i=(mn?m:n);i+) if(i%m=0 & i%n=0) return i;调用函数#includeint main() int m,n,i; int lcm(int m,int n); scanf(%d,

5、%d,&m,&n); printf(lease common multiple is %d,lcm(m,n); return 0;3判断素数思路:从2开始到所求整数的开方依次求余,如果有能整除所求整数的整数,则所求整数为合数,反之为素数。完整程序#include#includeint main() int num; int i,k,flag=1; scanf(%d,&num); k=sqrt(num); for(i=2;i=k;i+) if(num%i=0) printf(%d isnt a prime number!,num); flag=0; if(flag) printf(%d is a

6、 prime number!,num); return 0;封装函数int sushu(int num) int i,k; k=sqrt(num); for(i=2;i=k;i+) if(num%i=0) return 0; return 1;调用函数#include#includeint main() int num; int sushu(int num); scanf(%d,&num); if(sushu(num)=0) printf(%d isnt a prime number!,num); else printf(%d is a prime number!,num); return 0

7、;4冒泡排序(升序)思路:N个数,每次比较相邻的两个数,如果前面的数大就互相互换,这样小的数就会像气泡同样往前冒。一趟排序完毕后最后一种数最大。共进行N-1趟排序。 完整程序#include#define N 10int main() int numN; int i,j; int t; for(i=0;iN;i+) scanf(%d,&numi); for(i=0;iN-1;i+) for(j=0;jnumj+1) t=numj;numj=numj+1;numj+1=t; for(i=0;iN;i+) printf(%d ,numi); return 0;封装函数void maopao(int

8、 numN) int i,j; int t; for(i=0;iN-1;i+) for(j=0;jnumj+1) t=numj;numj=numj+1;numj+1=t;调用函数#include#define N 10int main() int numN; int i,j; int t; void maopao(int numN); for(i=0;iN;i+) scanf(%d,&numi); maopao(num); for(i=0;iN;i+) printf(%d ,numi); return 0;5选择排序(升序)思路:N个数,每次从剩余的数中选择最小的数(记住它的下标)与这组数中最

9、前面的数互换,数的个数依次减少。一趟排序完毕后最前面的数最小。共进行N-1趟排序。 完整程序#include#define N 10int main() int numN; int i,j,k; int t; for(i=0;iN;i+) scanf(%d,&numi); for(i=0;iN-1;i+) k=i; for(j=i+1;jnumj) k=j; if(k!=i) t=numk;numk=numi;numi=t; for(i=0;iN;i+) printf(%d ,numi); return 0;封装函数void xuanze(int numN) int i,j,k; int t;

10、 for(i=0;iN-1;i+) k=i; for(j=i+1;jnumj) k=j; if(k!=i) t=numk;numk=numi;numi=t; 调用函数#include#define N 10int main() int numN; int i,j,k; int t; void xuanze(int numN); for(i=0;iN;i+) scanf(%d,&numi); xuanze(num); for(i=0;iN;i+) printf(%d ,numi); return 0;6折半查找(升序)思路:N个按照从小到大排列好顺序的数,再从中寻找一种数,不是依次扫描每个数,而是先把这组数的中间元素拿出来与所找的数比较,如果中间数不不小于所找的数,则在这组数的后半段寻找;如果中间数不小于所找的数,则在这组数的前半段寻找。找到了,输出这个数的下标,如果找不到,输出Not found!。完整程序#include#define N 10int main() int aN,low=0,high=N-1,mid,i,key,flag=0; for(i=0;iN;i+) scanf(%d,&ai); scanf(%d,&key); while(low=high) mid=(low+high)/2; if(amid=key)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号