|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
C语言中怎么做到多行输入,再同时输出每一行的结果
比如:题目描述
输入两个正整数m和n(1<m, n<1000000000),求其最大公约数和最小公倍数。
输入
有多行,每行2个正整数m和n。
输出
m和n的最大公约数、最小公倍数。
样例输入
16 24
5 7
样例输出
8 48
1 35
本帖最后由 jackz007 于 2021-11-26 22:13 编辑
- #include <stdio.h>
- int gcd(int m , int n)
- {
- return (n != 0) ? gcd(n , m % n) : m ;
- }
- int lcm(int m , int n)
- {
- return m * n / gcd(m , n) ;
- }
- int main(void)
- {
- int d[5000][2] , i , j , k , n ;
- for(n = 0 ; ; n ++) if(scanf("%d%d" , & d[n][0] , & d[n][1]) != 2) break ;
- for(i = 0 ; i < n ; i ++) printf("%d %d\n" , gcd(d[i][0] , d[i][1]) , lcm(d[i][0] , d[i][1])) ;
- }
复制代码
编译、运行实况:
- D:\00.Excise\C>g++ -o x x.c
- 8 48
- 1 35
- D:\00.Excise\C>x
- 16 24
- 5 7
- ^Z
- 8 48
- 1 35
- D:\00.Excise\C>
复制代码
|
|