C语言 用三种方法求最大公约数
2017-03-22 23:02
211 查看
#include<stdio.h> #include<stdlib.h> int m,n,k=1; void divide(); void subtract(); void exhaustion(); void menu(); int main() { while(k) { menu(); } system("pause"); return 0; } void divide() /*辗转相除法*/ { int a,b,c; printf("Input two integer numbers:(a/b)\n"); scanf("%d/%d",&a,&b); m=a; n=b; while(b!=0) /*余数不为0,继续相除,直至余数为0*/ { c=a%b; a=b; b=c; } printf("The largest common divisor:%d\n",a); } void subtract() /*相减法*/ { int a,b; printf("Input two integer numbers:(a/b)\n"); scanf("%d/%d",&a,&b); m=a; n=b; while(a!=b) /*a,b不相等,大数减小数,直至相等*/ if(a>b) a=a-b; else b=b-a; printf("The largest common divisor:%d\n",a); } void exhaustion() /*穷举法*/ { int a,b,t; printf("Input two integer numbers:(a/b)\n"); scanf ("%d/%d", &a, &b); m=a; n=b; t=(a>b)?b:a; /*采用条件表达式求出两数中最小值*/ while(t>0) /*a,b同时被整除*/ { if(a%t==0&&b%t==0)break; t--; } printf("The largest common divisor:%d\n",t); } void menu() /*界面*/ { int num; printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); printf("┃☆☆☆☆☆☆☆☆☆☆☆求最大公约数☆☆☆☆☆☆☆☆☆┃\n"); printf("┃—┅┅┅┅┅┅┅┅┅┅1.辗转相除法┅┅┅┅┅┅┅┅┅┃\n"); printf("┃—┅┅┅┅┅┅┅┅┅┅2.相减法┅┅┅┅┅┅┅┅┅┅┅┃\n"); printf("┃—┅┅┅┅┅┅┅┅┅┅3.穷举法┅┅┅┅┅┅┅┅┅┅┅┃\n"); printf("┃—┅┅┅┅┅┅┅┅┅┅0.返回到开始┅┅┅┅┅┅┅┅┅┃\n"); printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); printf("请选择菜单编号:\n"); scanf("%d",&num); switch (num) { case 1:divide();break; case 2:subtract();break; case 3:exhaustion();break; case 0:k=0;break; default:printf("请在0-3之间选择\n"); } }
相关文章推荐
- C语言:三种基础方法求2个数的最大公约数。
- C语言 求最大公约数的三种方法,利用最大公约数求最小公倍数,通过分解质因数法来验证
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- C语言求最小公倍数和最大公约数三种算法
- 三种方法求解最大公约数
- 算法课本~计算两个最大公约数的三种方法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- (java)求m,n最大公约数的三种方法
- 三种方法实现求两个数的最大公约数
- C语言求两个数的最大公约数的三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- C语言求最小公倍数和最大公约数三种算法