C语言模板资料程序(新手必看-).doc

上传人:一*** 文档编号:808897 上传时间:2019-07-16 格式:DOC 页数:28 大小:189.50KB
返回 下载 相关 举报
C语言模板资料程序(新手必看-).doc_第1页
第1页 / 共28页
C语言模板资料程序(新手必看-).doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《C语言模板资料程序(新手必看-).doc》由会员分享,可在线阅读,更多相关《C语言模板资料程序(新手必看-).doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

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

3、mmon divisor is %dn“,m);return 0; 封装函数 int gcd(int m,int n) while(m!=n)if(mn) m-=n;else n-=m;return m; 调用函数方法 二: 更相 减损 法#include int main() int m,n,r;int gcd(int m,int n);scanf(“%d,%d“,printf(“greatest common divisor is %dn“,gcd(m,n);return 0; 求两个数最小公倍数 思路:两个数,从较大的数开始,依次找能同时整除这两个数的整数,这 个整数就是这两个数的最小公

4、倍数。2完整程序#include int main() int m,n,i;scanf(“%d,%d“,for(i=(mn?m:n);i+)if(i%m=0 break;return 0; 封装函数 int lcm(int m,int n) int i;for(i=(mn?m:n);i+)if(i%m=0 调用函数 #include int main() int m,n,i;int lcm(int m,int n);scanf(“%d,%d“,printf(“lease common multiple is %d“,lcm(m,n);return 0; 判断素数 思路:从 2 开始到所求整数的

5、开方依次求余,如果有能整除所求整数的整 数,则所求整数为合数,反之为素数。3完整程序#include #include int main() int num;int i,k,flag=1;scanf(“%d“,k=sqrt(num);for(i=2;i #include int main() int num;int sushu(int num);scanf(“%d“,if(sushu(num)=0) printf(“%d isnt a prime number!“,num);else printf(“%d is a prime number!“,num);return 0; 冒泡排序(升序)

6、思路:N 个数,每次比较相邻的两个数,如果前面的数大就相互交换,这 样小的数就会像气泡一样往前冒。一趟排序完成后最后一个数最大。共进 行 N-1 趟排序。 4完整程序#include #define N 10 int main() int numN;int i,j;int t;for(i=0;inumj+1)t=numj;numj=numj+1;numj+1=t;for(i=0;inumj+1)t=numj;numj=numj+1;numj+1=t; 调用函数 #include #define N 10 int main() int numN;int i,j;int t;void maopao

7、(int numN);for(i=0;i #define N 10 int main() int numN;int i,j,k;int t;for(i=0;inumj) k=j;if(k!=i) t=numk;numk=numi;numi=t;for(i=0;inumj) k=j;if(k!=i) t=numk;numk=numi;numi=t; 调用函数#include #define N 10 int main() int numN;int i,j,k;int t;void xuanze(int numN);for(i=0;i #define N 10 int main() int aN,

8、low=0,high=N-1,mid,i,key,flag=0;for(i=0;ikey) high=mid-1;else low=mid+1;if(!flag) printf(“Not found!“);return 0; 封装函数 int zheban(int aN,key) int low=0,high=N-1,mid;while(lowkey) high=mid-1;else low=mid+1;printf(“Not found!“);return -1; 调用函数 #include #define N 10 int main() int aN,low=0,high=N-1,mid,

9、i,key,flag=0;int zheban(int aN,key);for(i=0;i int main() int x,y,z;scanf(“%d,%d“,z=xy?x:y;printf(“%d“,z);return 0; 封装函数 int max(int x,int y) int z;z=xy?x:y;return z; 调用函数 #include int main() int x,y,z;int max(int x,int y);scanf(“%d,%d“,printf(“%d“,max(x,y);return 0; (2)数组中找最大 一维数组 思路:让一个变量等于数组中第一个元素

10、,从第二数开始依次进行比较, 碰到更大的数则更改变量的值,直到全部比较完毕。 完整程序 #include #define N 10 int main() int numN;int i,max;for(i=0;i #define N 10 int main() int numN;int i;int max(int numN);for(i=0;i #define N 10 #define M 5 int main() int numNM;int i,j;int max;for(i=0;i #define N 10 #define M 5 int main() int numNM;int i,j;i

11、nt max(int numNM);for(i=0;i #define N 5 int main() int aNN;int i,j,t;for(i=0;i #define N 5 int main() int aNN;int i,j;void zhuanzhi(int aN);for(i=0;i #include int main() char ch101;scanf(“%s“,ch);/或 gets(ch);return 0; 封装函数 void Input_Big_Num(char ch101) scanf(“%s“,ch);/或 gets(ch); 9调用函数#include #inc

12、lude int main() char ch101;void Input_Big_Num(char ch101);Input_Big_Num(ch);return 0; (2)大整数的处理 将大整数个位到最高位放在下标从 0 开始的整形数 完整程序 #include #include int main() char ch101;int data100;int len,i;scanf(“%s“,ch);/或 gets(ch);len=strlen(ch);for(i=0;i #include int main() char ch101=0;int data100=0;void Input_Bi

13、g_Num(char ch101);int Chuli_Big_Num(char ch101,int data100);Input_Big_Num(ch);Chuli_Big_Num(ch,data);return 0; 将大整数最高位到个位放在下标从 0 开始的整形数 完整程序 #include #include int main() char ch101;int data100;int len,i;scanf(“%s“,ch);/或 gets(ch);len=strlen(ch);for(i=0;i #include int main() char ch101=0;int data100=

14、0;void Input_Big_Num(char ch101);int Chuli2_Big_Num(char ch101,int data100);Input_Big_Num(ch);Chuli_Big_Num(ch,data);return 0; (3)大整数的输出 完整程序 #include #include int main() char ch101;int data100;int len,i; scanf(“%s“,ch);/或 gets(ch); len=strlen(ch);for(i=0;i=0;i-)printf(“%d“,datai);return 0; 封装函数 voi

15、d Output_Big_Num(int data100,int weishu) int i;for(i=weishu-1;i=0;i-)printf(“%d“,datai); 调用函数#include #include int main() char ch101=0;int data100=0;int weishu;void Input_Big_Num(char ch101);int Chuli_Big_Num(char ch101,int data100);void Output_Big_Num(int data100,int weishu);Input_Big_Num(ch);weish

16、u=Chuli_Big_Num(ch,data);Output_Big_Num(data,weishu);return 0; (4)大整数的加法(两个大整数相加)完整程序#include #include int main() char ch1101=0,ch2101=0;int data1100=0,data2100=0,data3101=0;int len1,len2,len,i,jinwei=0; scanf(“%s“,ch1);/或 gets(ch1); scanf(“%s“,ch2);/或 gets(ch2);len1=strlen(ch1);for(i=0;i=0;i-)if(da

17、ta3i!=0)len=i;break;for(i=len;i=0;i-)printf(“%d“,data3i);return 0; 封装函数int Plus_Big_Num(int data1100,int data2100,int data3101) int i,jinwei=0;for(i=0;i=0;i-)if(data3i!=0)weishu=i;break;return weishu; 调用函数 #include #include int main() char ch1101=0,ch2101=0;int data1100=0,data2100=0,data3101=0;int w

18、eishu;void Input_Big_Num(char ch101);int Chuli_Big_Num(char ch101,int data100);void Output_Big_Num(int data100,int weishu);void Plus_Big_Num(int data1100,int data2100,int data3101);Input_Big_Num(ch1);Input_Big_Num(ch2);Chuli_Big_Num(ch1,data1);Chuli_Big_Num(ch2,data2);weishu=Plus_Big_Num(data1,data2

19、,data3);Output_Big_Num(data3,weishu);return 0; (5)大整数的乘法(一个大整数乘一个小整数)完整程序#include #include int main() char ch101=0;int data100=0;int len,i,r,f=0,n;scanf(“%s“,ch);scanf(“%d“,len=strlen(ch);for(i=0;i=10)/如果某一位上的数大于 10,则要进位datai+1+=datai/10;/逢十进一datai=datai%10;/进位之后,保留余数for(i=99;i=0;i-)if(datai!=0 f=1;

20、else if(f) printf(“%d“,datai);return 0; 封装函数void Mutiply_BigNum_SmallNum(int Data100,int n,int *p) int i,r;for(i=0;i=10)/如果某一位上的数大于 10,则要进位Datai+1+=Datai/10;/逢十进一Datai=Datai%10;/进位之后,保留余数for(i=99;i=0;i-)if(Datai!=0)*p=i+1;break; 调用函数#include int main() char ch101=0;int data100=0;int n,weishu=0;int *

21、p=void Input_Big_Num(char ch101);int Chuli_Big_Num(char ch101,int data100);void Output_Big_Num(int data100,int weishu);void Mutiply_BigNum_SmallNum(int Data100,int n,int *p);Input_Big_Num(ch);Chuli_Big_Num(ch,data);scanf(“%d“,Mutiply_BigNum_SmallNum(data,n,p);Output_Big_Num(data,*p);return 0; (6)大整数

22、的乘法(一个大整数乘一个大整数)完整程序 #include #include int main()int data1100=0,data2100=0;int r200=0;char ch1101=0,ch2101=0;int i,j,k=0;int len1,len2;gets(ch1);gets(ch2);len1=strlen(ch1);len2=strlen(ch2);for(i=0;i=0;i-)if(ri!=0)break;for(i=i;i=0;i-)printf(“%d“,ri);return 0; 封装函数int Mutiply_BigNum_BigNum(int data11

23、00,int data2100,int r200,int len1,int len2) int i,j;for(i=0;i=0;i-)if(ri!=0)break;return i; 调用函数#include #include int main() int data1100=0,data2100=0;int r200=0;char ch1101=0,ch2101=0;int i,j,k=0;int len1,len2;void Input_Big_Num(char ch101);int Chuli_Big_Num(char ch101,int data100);void Output_Big_

24、Num(int data100,int weishu);int Mutiply_BigNum_BigNum(int data1100,int data2100,int r200,int len1,int len2);Iuput_Big_Num(ch1);Input_Big_Num(ch2);len1=Chuli_Big_Num(ch1,data1)+1;len2=Chuli_Big_Num(ch2,data2)+1;i=Mutiply_BigNum_BigNum(data1,data2,r,len1,len2);for(i=i;i=0;i-)printf(“%d“,ri);return 0;

25、(7)大整数的除法(一个大整数除以一个小整数且能整只保留整数)完整程序#include int main() long int Data100=0,result100=0;int i,k,flag=0,len;char ch101=0;scanf(“%s“,ch);len=strlen(ch);scanf(“%d“,for(i=0;i #include int main()char ch101=0;int data100=0,result100=0;int weishu,flag=0,k,len;void Input_Big_Num(char ch101);int Chuli2_Big_Num

26、(char ch101,int data100);int Division_Big_Num(int Data100,int result100,int k,int len);Input_Big_Num(ch);weishu=Chuli2_Big_Num(ch,data);scanf(“%d“,len=Division_Big_Num(data,result,k,weishu);for(i=0;i int main() long int Data100=0,result100=0;int i,k,flag=0,len;char ch101=0;scanf(“%s“,ch);len=strlen(

27、ch);scanf(“%d“,for(i=0;i #include int main() char ch101=0;int data100=0,result100=0;int weishu,flag=0,k,len;void Input_Big_Num(char ch101);int Chuli2_Big_Num(char ch101,int data100);int Division_Big_Num(int Data100,int result100,int k,int len);Input_Big_Num(ch);weishu=Chuli2_Big_Num(ch,data);scanf(“%d“,len=Division_Big_Num(data,result,k,weishu)for(i=0;i100;i+)if(resulti!=0) flag=1;if(flag) printf(“%d“,resulti);if(i=len-1) printf(“.“);return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com