文章标题
来源:互联网 发布:网络答题知识竞赛答案 编辑:程序博客网 时间:2024/04/29 22:38
//*********最大公约数***********//作者:谭秀芳//版本:v1.0//创建时间:2017年3月19日//主要功能:随机从键盘中输入的两个整数,用三种算法实现求两个整数的最大公约数,即辗转相除法,穷举法,相减法//************************************#include <stdio.h>int main(){ int a,b,temp,num,k=1; //定义变量 int Division(int x,int y); int Decrease(int x,int y); int Exhausetion(int x,int y); while(k) //使用while结构循环输入两个整数 { printf("请输入两个整数(两数之间用空格隔开):\n"); scanf("%d%d",&a,&b); if(a<=0||b<=0) //判断a,b,中是否有0存在,若无则继续运行,若有则输出错误提示并重新输入两个整数 { printf("输入的数据错误!\n"); printf("请输入两个整数(两数之间用空格隔开):\n"); scanf("%d%d",&a,&b); } if(a<b) //判断a,b的大小,并且使a>b { temp=b; b=a; a=temp; } printf("1.辗转相除法 2.相减法 3.穷举法 4.退出 5.继续 \n"); int m=1; while(m) //输入两个整数后循环输出菜单,调用相关的函数 { printf("请选择菜单编号:"); scanf("%d",&num); switch(num) { case 1: Division(a,b);break; case 2: Decrease(a,b);break; case 3: Exhausetion(a,b);break; case 4: k=0,m=0;break; case 5: k=1,m=0;break; default:printf("请在数字1-4之间选择\n"); } } } return 0;}//辗转相除法求最大公约数函数int Division(int x,int y){ int t; t=x%y; if(t!=0) { x=y; y=t; t=x%y; } printf("最大公约数:%d\n",y); return 0;}//相减法求最大公约数函数int Decrease(int x,int y){ while(x!=y) if(x>y) x=x-y; else y=y-x; printf("最大公约数为:%d\n",x); return 0;}//穷举法求最大公约数函数int Exhausetion(int x,int y){ int i,t; for(i=1;i<=x;i++) if(x%i==0&&y%i==0)t=i; printf("最大公约数:%d\n",t); return 0;}
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- L2-007. 家庭房产 (并查集||无向图)
- web前端
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 1021 Fibonacci Again
- 各种计时函数使用总结
- 文章标题
- reshape的使用
- 词法分析器生成工具flex
- 搭建MyBatis框架
- MySQL建表,主键,外键
- 剑指Offer 15 输入一个链表,输出该链表中倒数第k个结点
- 跨服务器的复制操作
- POJ A Simple Problem with Integers 线段树 lazy-target 区间跟新
- 子线程和子线程之间的通信