资源描述:
《输入两个正整数m和n,求最小公倍数,与最大公约数.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一周作业1输入两个正整数m和n,求其最大公约数和最小公倍数.<1>用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0则m<-n,n<-a,继续求余否则n为最大公约数<2>最小公倍数=两个数的积/最大公约数#includeintmain(){intm,n;intm_cup,n_cup,res;/*被除数,除数,余数*/printf("Entertwointeger:");scanf("%d%d",&m,&n);if(m>0&&n>0) { m_cup=m; n_cup=n; res=m_cup%n_cup; while(res!=0) {
2、 m_cup=n_cup; n_cup=res; res=m_cup%n_cup; } 2、分别用三种循环语句(while语句、do-while语句、for语句),实现求1~100的累加和。第2周的题目:(要求用数组做) printf("Greatestcommondivisor:%d",n_cup); printf("Leasecommonmultiple:%d",m*n/n_cup); } elseprintf("Error!"); return0;}2intsum=0;inti=0;while(i<100){sum+=
3、(i+1);i++;}printf("%d",sum);i=0;do{sum+=(i+1);i++;}while(i<=100)printf("%d",sum);for(i=1;i<=100;i++){sum+=i;}printf("%d",sum);第二周作业1用冒泡法对输入的10个整数排序。#include#includevoidprint(int*a,intn);voidpaixu(int*a,intn);voidmain(){inta[10];inti;printf("请输入10个整数:");for(i=0;i<10;i++)scanf("%
4、d",&a[i]);paixu(a,i);//排序print(a,i);//输出}intswap(int*a,int*b)//交换{intt;t=*a;*a=*b;*b=t;}//冒泡排序,从大到小voidpaixu(int*a,intn){inti,j=0,k;printf("==========从大到小排序后=========");for(i=0;i5、d",*(a+i));printf("");}2、用数组求Fibonacci数列前20个数。#includevoidmain(){inti;intf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf("");printf("%10d",f[i]);}printf("");}第三周作业11、求两个正整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。#includeusingname
6、spacestd;intgreatest_c_divisor(intx,inty);//求最大公约数intleast_c_multiple(intx,inty,intgcd);//求最小公倍数intmain(){intx,y,gcd,lcm;cout<<"请输入两个正整数"<>x>>y;gcd=greatest_c_divisor(x,y);lcm=least_c_multiple(x,y,gcd);cout<<"这两个数的最大公约数是"<7、){intgcd;x>y?gcd=y:gcd=x;//两个数中的最小值for(;x%gcd!=0
8、
9、y%gcd!=0;gcd--);returngcd;}intleast_c_multiple(intx,inty,intgcd){intlcm;lcm=x*y/gcd;returnlcm;}2写一函数,用起泡法对输入的10个字符按从小到大顺序排列。#includevoidmain(){inti,j,temp;inte