c语言程序
#include<stdio.h>
int main()
{
int a,b,t,m;
printf("请输入您所求的两个数\n");
scanf("%d %d",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(b%a==0)
printf("最小公倍数是%d,最大公约数是%d\n",b,a);
else
{
int j;
for(j=1;j<a;j++)
{
if((a%j==0)&&(b%j==0))
printf("%d和%d的最大公约数是%d\n",a,b,j);
}
m=a*b/j;
printf("%d和%d的最小公倍数是%d\n",a,b,m);
}
return 0;
}
注:scanf的用法
scanf函数作为c语言的标准输入语句,有几个特点:
1.格式化输入。
既可以给定要输入的类型,再给出相应的存放变量即可;例如:scanf(“%d”,&d)即为将从输入流读取一个十进制整数(对应类型为int),
如果输入的是小数形式,则变成相应的整数;存放在变量d的内存中,相应有用的还有%c,为读字符;%f,为读小数点(float)类型,若是double型,则用%lf;
2.支持一次输入多个变量。
即可以一次性的读取一行输入中的所有变量;应为不同的变量间是用空格(可以多个,相当于一个),制表符(实际上是8个空格),
回车符为间隔的,所以scanf最多可以一次性读取一行的变量(行最后是换行符,即回车);
例如:scanf("%d%f",&a,&b);需要注意的是,当多个变量同时输入时,为了区别,必须在不同的变量之间采取隔离的措施,
如下:可以用空格,如:scanf(“%d %f”,&a,&b)(没有间隔的时候系统默认用空格)
这样,我们的输入的时候,要求输入量之间用空格隔开(至少一个);
但是,有时候,要求我们用特定的分隔符号,例如:scanf(“%d,%f”,&a,&b),
这时候,我们要做的就是输入的时候和特定的分隔符保持相同就好;
3.就是函数的输入参数和返回值了。
scanf的参数就是你放在括号里面的东西了;当读取工作顺利时,返回读取的参数个数;读取错误时,返回EOF,系统定义的一个宏,值是零
scanf("%3d%3d",&a,&b); 输入:123456
系统自动将123赋给a,456赋给b,为什么
test:
#include<stdio.h>
int main()
{
int a,b;
scanf("%3d%3d",&a,&b);
printf("a=%3d,b=%3d\n",a,b);
return 0;
}
因为:“3d”因为d前有个3,所以是3个字符啊,A是3个,B也是3个啊
3d”因为d前有个3,所以是3个字符啊,A是3个,B也是3
123赋给a,456赋给b,
你就直接输入6个数就可以了