输入两个正整数,比较两个正整数的大小关系,C语言编程

供稿:hz-xin.com     日期:2025-01-13
用C语言编写程序,输入两个正整数,比较之后,输出其中小的那个数字,写一个比较规范的代码,从include写

#include
int main()
{
int m,n;
printf("请输入两个整数:");
scanf("%d%d",&m,&n);
if(m<n)
printf("较小的数是%d",m);
else
printf("较小的数是%d",n);
return 0;
}

代码及注释如下:
#include
int GCD(int a,int b)//定义函数,用来计算最大公约数
{
return b==0?a:GCD(b,a%b);
//此处使用了递归,如果b=0,返回a为最大公约数,否则,一直以b与a%b赋给函数,实现辗转相除
}
int main()
{
int a, b ; //定义实参a, b
int answer ; //定义最后结果
scanf ( "%d%d" , &a, &b) ; //取a,b的值
answer = GCD (a, b) ; //把结果赋给answer
printf ( "%d与%d的最大公约数为%d
" , a , b , answer ) ; //输出结果
}

扩展资料:
辗转相除法求最大公约数的原理:
因为对任意同时整除a和b的数u,有a=su,b=tu,它也能整除r,因为r=a-bq=su-qtu=(s-qt)u。
反过来每一个整除b和r的整数v,有 b=sv , r=tv,它也能整除a,因为a=bq+r=svq+tv=(sq+t)v。
因此a和b的每一个公因子同时也是b和r的一个公因子,反之亦然。
这样由于a和b的全体公因子集合与b和r的全体公因子集合相同,所以a和b的最大公因子必须等于b和r的最大公因子,这就证明了上边的等式。即(a,b)=(b,r)。
因而,可以由此,得到两个数的最大公约数。

当然不对啦,if里的条件和else if里的条件是相反的
#include <stdio.h>
int main( )
{
long a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(b>a) printf("smaller\n");
else if(a>b)printf("bigger\n");
else printf("equal\n");
}
return 0;
}

已改,看注释

#include <stdio.h>
int main( )
{
long a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(b>a)
printf("smaller\n");
else if(a>b) // 小于号改大于号,否则跟第一个if判断条件是一样的
printf("bigger\n");
else
printf("equal\n");
}
return 0;
}

if(b>a) printf("smaller\n"); //低级错误,改为a>b
else if(a<b)printf("bigger\n");
else printf("equal\n");

scanf语句最好以下述形式出现:scanf("%ld,%ld",&a,&b)!=EOF
另外,问一下两个if语句中条件表达式有什么不同么:b>a, a<b。

试试看改成下面这句话
while(scanf("%ld%ld",&a,&b)!=EOF)

请输入两个正整数,输入两个正整数m和n,求其最大公约数和最小公倍数...
{ num1 = num2; \/\/8 7 num2 = t; \/\/7,循环继续 1 } p = p \/ num2;printf("它们的最大公约数:%d\\n", num2);printf("它们的最小公倍数:%d\\n", p);return 0;} 结果:请输入两个正整数:3,6 它们的最大公约数:3 它们的最小公倍数:6 ...

比较两个整数的大小,位数多的数就大
比较两个整数的大小,位数多的数就大。正确。整数(integer),是正整数、零、负整数的集合。整数的全体构成整数集,整数集是一个数环。在整数系中,零和正整数统称为自然数。-1、-2、-3、…、-n、…(n为非零自然数)为负整数。则正整数、零与负整数构成整数系。整数不包括小数、分数。如果不...

输入两个正整数,求出他们的最大公约数,用while怎么写??
include<stdio.h>int main(){ int a,b,num1,num2,temp; printf("Input a & b:"); scanf("%d%d",&num1,&num2); if(num1>num2) \/*找出两个数中的较大值*\/ { temp=num1; num1=num2; num2=temp; \/*交换两个整数*\/ } a=num1; b=num2;...

用C语言编写一个程序,从键盘输入两个正整数,输出这两个整数的最小公倍...
用欧几里德算法,最经典的了 include <stdio.h> include <stdlib.h> main(){ int p0,q0;printf("输入两个正整数:");scanf("%d%d",&p0,&q0);int p=min(p0,q0),q=max(p0,q0);\/\/min(),max()自己写吧 int r=p;while(p%q!=0)p+=r;printf("最小公倍数为:%d",p);} ...

c++编程,输入两个正整数,输出它们的最大公约数和最小公倍数。
include<stdio.h> int main(void){ int m,n,i,j;printf("请输入两个正整数");scanf("%d%d",&m,&n);i=(m>n?n:m);while(!(m%i==0&&n%i==0)){ i--;} printf("最大公约数:%d\\n",i);j=(m>n?m:n);while(!(j%m==0&&j%n==0)){ j++;} printf("最小公倍数:...

输入两个正整数a和b,输出使a≥b^ n成立的?
编程题,不要输出与结果无关的字符。读入1 个正整数 n(n<=10),再读入n个整数并放入一个数组中,将其中的最大值(设唯一)与最后一个元素交换, 输出该数组。例:括号内是说明 输入:5 3 9 5 1 8 (n=5)输出:3 8 5 1 9 编程题,不要输出与结果无关的字符。输入两个正整数 a 和 b...

编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数
include<stdio.h> include<math.h> int fun_y(int,int);int fun_b(int,int);main(){ int a,b,gy,gb;printf("输入两个整数:\\n");scanf("%d%d",&a,&b);gy=fun_y(a,b);gb=fun_b(a,b);printf("最大公约数是:%d\\n最小公倍数是:%d\\n",gy,gb);} int fun_y(int x,...

相邻的两个正整数一定互质,对吗?
相邻的两个正整数一定互质。相邻的两个正整数的公因数只有“1”,不可能出现其他的公因数,因此两个连续的正整数一定是互质数。同时,不相同的两个质数一定是互质数,两个相邻的奇数一定是互质数,这些说法都是根据互为质数的定义产生的推论,是互为质数中的特殊情况的存在。

如何求两个正整数的最大公约数呢?
求两个正整数的最大公约数方法如下:1、输入两个正整数a和b。2、如果a小于b,则交换a和b。3、计算a除以b的余数r。4、如果r等于0,则b即为最大公约数。5、如果r不等于0,则将b赋值给a,将r赋值给b,返回步骤。最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大...

编程实现输入两个整数,输出其最大公约数和最小公倍数。
举例:输入两个正整数m和n,输出它们的最小公倍数和最大公约数。代码:include <stdio.h> int main(void){ int gcd, lcm, m, n;int repeat, ri;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%d", &m);scanf("%d", &n);if(m <= 0 || n <= 0){...