输入两个正整数m和n,求最小公倍数,与最大公约数

合集下载

输入两个正整数m和n求其最大公约数和最小公倍数

输入两个正整数m和n求其最大公约数和最小公倍数

输入两个正整数,m和n,求其最大公约数和最小公倍数。

1. 输入两个正整数,m和n,求其最大公约数和最小公倍数。

2. 输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

3. 输入一个正整数求出它是几位数;输出原数和位数。

4. 输入一个正整数,输出原数并逆序打印出各位数字。

5. 从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。

6. 从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。

将结果输出。

7. 求1!+2!+3!+……+20!,将结果输出。

8. 打印以下图案: ****************9. 打印以下图案:**********10. 求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。

11. 打印出100,999之间的所有水仙花数。

12. 求S(Sn)=a+aa+aaa+…+aa…a之值,n,a由键盘输入。

n13. 打印以下图案:****************************14.打印以下图案:112112321123432115. 打印以下图案:123432112321121116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。

17. 打印以下图案:*************************18.给出年、月、日,计算该日是该年的第几天。

19.求一个3*3的整型矩阵对角线元素之和。

将原矩阵和求出的和输出。

20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。

21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。

23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。

24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。

输入整数m,n,求出m,n的最大公约数和最小公倍数 java循环语句

输入整数m,n,求出m,n的最大公约数和最小公倍数 java循环语句

输入整数m,n,求出m,n的最大公约数和最小公倍数 java循环语句嘿,咱今天就来好好唠唠这个输入整数 m 和 n,然后求出它们最大公约数和最小公倍数的事儿!这就好像是一场刺激的探险,咱得一步步解开这个谜团。

你想啊,m 和 n 就像是两个神秘的数字小伙伴,咱得想办法搞清楚它们之间的关系。

用 java 循环语句来解决这个问题,那就像是给我们配备了一把神奇的钥匙。

比如说,咱可以用一个循环从它们中间找出那些能同时整除 m 和 n 的数字,这可不就是在挖掘宝藏嘛!就像你在一堆乱石中寻找那颗最闪亮的宝石。

然后呢,把这些数字都收集起来,慢慢筛选出那个最大的公约数。

那最小公倍数呢,就像是给 m 和 n 搭建一个温暖的小窝,要找到一个最合适的数字,能同时包含它们俩。

这不就跟你找一个最合适的盒子来装两个宝贝一样嘛!咱来看看代码怎么写,下面就是一段示例代码:```javapublic class Main {public static void main(String[] args) {int m = 12;int n = 18;int gcd = findGCD(m, n);int lcm = findLCM(m, n);System.out.println("m 和 n 的最大公约数是:" + gcd); System.out.println("m 和 n 的最小公倍数是:" + lcm); }public static int findGCD(int m, int n) {int gcd = 1;for (int i = 1; i <= m && i <= n; i++) {if (m % i == 0 && n % i == 0) {gcd = i;}}return gcd;}public static int findLCM(int m, int n) {return m * n / findGCD(m, n);}}```看到没,就这么几行代码,就能解开 m 和 n 的秘密啦!这多有意思啊!所以啊,用java 循环语句来求m 和n 的最大公约数和最小公倍数,真的是超级有趣又实用的事儿。

输入两个正整数m和n求其最大公约数和最小公倍数

输入两个正整数m和n求其最大公约数和最小公倍数

输入两个正整数,m和n,求其最大公约数和最小公倍数。

1. 输入两个正整数,m和n,求其最大公约数和最小公倍数。

2. 输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

3. 输入一个正整数求出它是几位数;输出原数和位数。

4. 输入一个正整数,输出原数并逆序打印出各位数字。

5. 从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。

6. 从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。

将结果输出。

7. 求1!+2!+3!+……+20!,将结果输出。

8. 打印以下图案: ****************9. 打印以下图案:**********10. 求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。

11. 打印出100,999之间的所有水仙花数。

12. 求S(Sn)=a+aa+aaa+…+aa…a之值,n,a由键盘输入。

n13. 打印以下图案:****************************14.打印以下图案:112112321123432115. 打印以下图案:123432112321121116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。

17. 打印以下图案:*************************18.给出年、月、日,计算该日是该年的第几天。

19.求一个3*3的整型矩阵对角线元素之和。

将原矩阵和求出的和输出。

20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。

21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。

22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。

23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。

24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。

输入两个正整数m和n,求其最大公约数和最小公倍数

输入两个正整数m和n,求其最大公约数和最小公倍数

输入两个正整数m和n,求其最大公约数和最小公倍数最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。

求两个正整数m和n的最大公约数可用欧几里德算法(辗转相除法)。

求两个正整数m和n的最小公倍数=两个数的乘积÷两个数的最大公约数。

用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。

那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。

两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数。

由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。

这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。

main(){int p,r,n,m,temp;printf("Please enter 2 numbers n,m:");scanf("%d,%d",&n,&m);//输入两个正整数.if(n\u003cm)//把大数放在n中,把小数放在m中. {temp=n;n=m;m=temp;}p=n*m;//P是原来两个数n,m的乘积.while(m!=0)//求两个数n,m的最大公约数.{r=n%m;n=m;m=r;}printf("Its MAXGongYueShu:%d\\n",n);//打印最大公约数. printf("Its MINGongBeiShu:%d\\n",p/n);打印最小公倍数.。

C语言实验

C语言实验

C语言上机指导实验2数据类型、运算符和表达式1.实验目的掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。

掌握不同的类型数据之间赋值的规律。

学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

进一步熟悉C程序的编辑、编译、连接和运行的过程。

2.实验内容和步骤(2).在此基础上增加一个语句:printf(“%d%d\n”,c1,c2);再运行,并分析结果。

(3).再将第2行改为:int c1,c2;再使之运行,并观察结果。

(4).再将第3、4行改为:c1 = a; /* 不用单撇号*/c2 = b;再使之运行,分析其运行结果。

(5).再将第3、4行改为:c1 = ”a”; /* 用双撇号*/c2 = ”b”;再使之运行,分析其运行结果。

(6).再将第3、4行改为:c1 = 300; /* 用大于255的整数*/c2 = 400;再使之运行,分析其运行结果。

输入并运行教材第3章习题3.6给出的程序(1).将一个负整数赋给一个无符号的变量,会得到什麽结果。

画出它们在内存中的表示形式。

(2).将一个大于32765的长整数赋给整形变量,会得到什麽结果。

画出它们在内存中的表示形式。

(3).将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。

画出它们在内存中的表示形式。

同学们可以改变程序中各变量的值,以便比较。

例如:a = 65580, b = -40000,e = 65535,f = 65580。

(2).将第4、5行改为:m = i++;n = ++j;再运行。

printf(“%d,%d”, ++i, ++j);(5).再将printf 语句改为:printf(“%d,%d,%d,%d”, i, j, i++, j++);该题的要求是:要将”China”译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。

C语言课程设计 编写函数,求取两个整数m,n的最大公约数和最小公倍数

C语言课程设计 编写函数,求取两个整数m,n的最大公约数和最小公倍数

C语言课程设计专业:电气工程及其自动化班级:电气11姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2012 年7月6日1 基本题目1.1题目编写函数,求取两个整数m,n的最大公约数和最小公倍数。

1.2 题目分析图1 程序流程图1.3 程序# include<stdio.h>int max(int a,int b);int main(){printf("请输入两个整数");int m,n,p;scanf("%d%d",&m,&n);p=m*n;printf("最大公约数为:%d最小公倍数为:%d\n",max(m,n),p/max(m,n));return 0;}int max(int a,int b){int c;while (a!=b){if(a<b){c=a;a=b;b=c;}a=a-b;}return b;}1.4 程序的运行结果图2 基本题目运行结果2 改错题目2.1 改正后程序#include <stdio.h>#include <conio.h>main(){int i=0,j;char ch;while((ch=getch())!='\r'){i++;printf("%c",ch);}printf("you type %d characters\n",i);}2.2 程序运行结果图3 正确程序运行结果3 综合题目3.1 题目综合题目为:《班级通讯录》。

3.2 数据结构对上述题目进行分析,定义结构体数据结构如下:struct Person{char name[10]; //姓名char num[15]; //号码char age[8]; //年龄char adds[20]; //住址struct Person *next;};3.3 程序的主要功能通过该系统实现对通讯录信息进行录入、显示、修改、删除、排序、保存等操作的管理。

C语言程序设计(第2-3章)习题答案(魏为民)

C语言程序设计(第2-3章)习题答案(魏为民)

习题2参考答案一、基础题1.若二维数组a有m列,则在a[i][j]前的元素个数为:A)j*m+i B)i*m+jC)i*m+j-1 D)i*m+j+1B2.在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是:A) char<int<long int<=float<doubleB) char=int<long int<=float<doubleC) char<int<long int=float=doubleD) char=int=long int<=float<doubleA3.在C语言的变量类型说明中,int,char,float等类型的长度是:A) 固定的B) 由用户自己定义的C) 任意的D) 与机器字长有关的D4. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:A) int型B)float型C) double型D)不确定C5.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种C6.设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的值是:A) 4 B) 3 C) 2 D) 1D7.以下程序的输出结果是:main(){ int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,13D8.若有代数式(3ae)/(bc),则下面不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3C9.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:A) 0 B) 语法错C) 1 D) "假"C10.下面程序的输出结果是:main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3B11.已知字母A的ASCII码为十进制的65,下面程序的输出是:main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值A12.下面程序的输出的是main(){ int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值C二、程序设计题1.从键盘上输入一个小写字母,编程输出其对应的大写字母以及它们的十进制ASCII码。

求两个整数m,n的最大公约数,m和n由键盘输入.

求两个整数m,n的最大公约数,m和n由键盘输入.

求两个整数m,n的最大公约数,m和n由键盘输入.最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。

求两个正整数m和n的最大公约数可用欧几里德算法(辗转相除法)。

main(){int p,r,n,m,temp;printf("please enter 2 numbers n,m:");scanf("%d,%d",&n,&m);//输出两个正整数.if(n\ucm)//把大数放在n中,把小数放在m中.{temp=n;n=m;m=temp;}p=n*m;//p就是原来两个数n,m的乘积.while(m!=0)//求两个数n,m的最大公约数.{r=n%m;n=m;m=r;}printf("its maxgongyueshu:%d\\n",n);//打印最大公约数.printf("its mingongbeishu:%d\\n",p/n);列印最轻公倍数.原理用欧几里德算法(只身二者乘法)谋两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除大的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数除去前一个余数,直至余数就是0年才。

那么,最后一个除数就是所求的最大公约数(如果最后的除数就是1,那么原来的两个数就是互质数)。

由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。

这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一周作业1输入两个正整数m和n, 求其最大公约数和最小公倍数. <1> 用辗转相除法求最大公约数算法描述: m对n求余为a, 若a不等于0 则m <- n, n <- a, 继续求余否则n 为最大公约数<2> 最小公倍数= 两个数的积/ 最大公约数#include int main(){int m, n; int m_cup, n_cup, res; /*被除数, 除数, 余数*/printf("Enter two integer:\n");scanf("%d %d", &m, &n);if (m > 0 && n >0){m_cup = m;n_cup = n;res = m_cup % n_cup;while (res != 0){m_cup = n_cup;n_cup = res;res = m_cup % n_cup;}2、分别用三种循环语句(while语句、do-while语句、for语句),实现求1~100的累加和。

第2周的题目:(要求用数组做)printf("Greatest common divisor: %d\n", n_cup);printf("Lease common multiple : %d\n", m * n / n_cup); }else printf("Error!\n");return 0;}2int sum = 0;int i=0;while(i<100){sum += (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<stdio.h>#include<malloc.h>void print(int *a,int n);void paixu(int *a,int n);void main(){int a[10];int i;printf("请输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);paixu(a,i);//排序print(a,i);//输出}int swap(int *a,int *b)//交换{int t;t=*a;*a=*b;*b=t;}//冒泡排序,从大到小void paixu(int *a,int n){int i,j=0,k;printf("==========从大到小排序后=========\n");for(i=0;i<n-1;i++){for(j=1;j<n-i;j++)if(a[j-1]<a[j])swap(&a[j],&a[j-1]);}}void print(int *a,int n){int i;for(i=0;i<n;i++)printf("%d ",*(a+i));printf("\n");}2、用数组求Fibonacci数列前20个数。

#include<stdio.h>void main(){int i;int f[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("\n");printf("%10d",f[i]);}printf("\n");}第三周作业11、求两个正整数的最大公约数和最小公倍数,用一个函数求最大公约数。

用另一个函数根据求出的最大公约数求最小公倍数。

#include<iostream>using namespace std;int greatest_c_divisor(int x,int y); //求最大公约数int least_c_multiple(int x,int y,int gcd); //求最小公倍数int main(){int x,y,gcd,lcm;cout<<"请输入两个正整数"<<endl;cin>>x>>y;gcd=greatest_c_divisor(x,y);lcm=least_c_multiple(x,y,gcd);cout<<"这两个数的最大公约数是"<<gcd<<"\n这两个数的最小公倍数是"<<lcm<<endl;}int greatest_c_divisor(int x,int y){int gcd;x>y?gcd=y:gcd=x; //两个数中的最小值 for(;x%gcd!=0||y%gcd!=0;gcd--);return gcd;}int least_c_multiple(int x,int y,int gcd){int lcm;lcm=x*y/gcd;return lcm;}2写一函数,用起泡法对输入的10个字符按从小到大顺序排列。

#include <stdio.h>void main(){int i, j, temp;int element[10];int *start, *end;printf("\n请输入10个数:\n ");for(i = 0;i < 10;i++){scanf("%d", &element[i]);}start = element; /* start 指针指向数组的第一个元素 */end = element + 10; /* end 指针指向数组的最后一个元素 */ printf("\n原始数组:\n");/* 输出原始数组 */for(;start < end;start++){printf("%d ", *start);}printf("\n\n排序后的数组:\n");/* 输出排序后的数组 */start=element;for(i = 10;i > 0;i--){for(j = 10 - i;j > 0;j--){if(*(start + j-1) > *(start+j)){temp = *(start + j-1);*(start + j-1) = *(start+j);*(start+j) = temp;}for(start = element;start < end;start++){printf("%d ", *start);}printf("\n");}第四周作业1、将数组a中的n个整数按相反顺序存放。

(要求用指针做)void inv(int *a, int n){int tmp;int i, j = n - 1;for (i = 0; i < j; i++) {tmp = *(a+i);*(a+i) = *(a+j);*(a+j) = tmp;j--;}}2输入3个学生各学4门课,计算总平均分,并查找一门以上课程不及格的学生,输出其各门课成绩。

(要求用指针做)#include "stdio.h"#include "stdlib.h"struct student{char name[10];int chinese;int english;int shuxue;int lishi;int sum;float avg;};void main(){struct student a[3];int i,j,k;for(i=0;i<3;i++){scanf("%s%d%d%d%d",a[i].name,&a[i].chinese,&a[i].english,&a[i].shuxue ,&a[i].lishi);a[i].sum=a[i].chinese+a[i].english+a[i].shuxue+a[i].lishi;a[i].avg=(a[i].chinese+a[i].english+a[i].shuxue+a[i].lishi)/3;}printf("\n");for(i=0;i<3;i++){if(a[i].chinese<60||a[i].english<60||a[i].shuxue<60||a[i].lishi<60) {printf("%s chinese:%d english:%d shuxue:%d lishi:%d sum:%d avf%.2f\n",a[i].name,a[i].chinese,a[i].english,a[i].shuxue,a[i].lishi ,a[i].sum,a[i].avg);}}}第五周作业1、编写一个函数input,用来输入5个学生的数据记录,再编写一个函数output,用来输出5个学生的数据记录,每个记录包括学号、姓名和3门课成绩。

下周1之前把写好的程序文件传回来给我(要求用结构体做)#include<stdio.h>struct men{int num;char name[8];char sex[8];float score;}boy[5];void input(){int i;for(i=0;i<5;i++){printf("Input the number:\n");scanf("%d",&boy[i].num);printf("Input the name:\n");scanf("%s",boy[i].name);printf("Input the sex:\n");scanf("%s",boy[i].sex);printf("Input the score:\n");scanf("%f",&boy[i].score);}}void output(){int i;for(i=0;i<5;i++){printf("NUM\t\t\tNAME\t\t\tSEX\t\t\tSCORE\n"); printf("%d\t\t\t",boy[i].num);printf("%s\t\t\t",boy[i].name);printf("%c\t\t\t",boy[i].sex);printf("%.2f\n\n",boy[i].score);}}int main(){void input();void output();input();output();return (0);}。

相关文档
最新文档