ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c语言作业,写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这个两个函数,并输出结果。两个整数由键盘输入。

2022-01-30 19:59:50  阅读:231  来源: 互联网

标签:两个 函数 int 整数 公倍数 最大公约数 gys gbs


思路就是先定义两个函数,一个解决最大公约数,一个最小公倍数,定义整形变量a,b用来接收两个输入整数。

最大公约数,定义一个整数i,用if语句使a,b最小值赋值给i,for语句初值为a,b中最小数,i--,循环到a和b可以同时整除i, i就是a和b的最大公约数,用break函数结束循环。

最小公倍数,定义一个整数i,用if语句使a,b最大值赋值给i,for语句初值为a,b中最大数,i++,循环到i可以同时整除a和b,i就是a和b的最小公倍数,用break函数结束循环。


#include<stdio.h>
int gys(int a,int b);       //声明gys函数解决最大公约数的函数
int gbs(int a,int b);       //声明gbs函数解决最小公倍数的函数
void main()
{ int i,j;                  //定义两个整形变量来接受两个整数
printf("请输入两个整数:");
scanf("%d%d",&i,&j);        //输入两个整数
printf("最大公约数为:%d\n",gys(i,j));  //使用gys函数输出最大公约数  
printf("最小公倍数为:%d\n",gbs(i,j));  //使用gbs函数输出最小公倍数
}
int gys(int a,int b)        //定义gys函数
{ int i;                    
if(a<b)                     //判断a是否小于b,小于的话互换值,使b为最小数
{ i=a;                      
  a=b;                      //使b为a,b中最小数,给for循环用
  b=i;
}
for(i=b;i>0;i--)            //由于使用的是i--,可以找到最先被a和b整除的数
if(a%i==0&&b%i==0)          //用if语句判断i减到几可以a和b整除
  { return i;               //函数返回值给到i,因为i最先被a和b整除,说明i为最大公约数
    break;                  //因为已经找到答案,直接结束循环,用break语句
  }
}                           //了解了最大公约数怎么求,那么最小公倍数就更好算了
int gbs(int a,int b)        
{                              
int i;                      //首先定义一个整形变量,用来接替a和b中的最大值
if(a>b)                     //利用if语句,使b是a和b中最大数
{ i=a;                  
  a=b;
  b=i;
}
for(i=b;i>0;i++)            //使i初值为a,b中最大数,i++
if(i%a==0&&i%b==0)          //直到i可以同时整除a和b
 { return i;                //把i的值返回给gbs函数
   break;                   //已经找到答案,可提前结束循环
 }                 
}                           //over

 

标签:两个,函数,int,整数,公倍数,最大公约数,gys,gbs
来源: https://blog.csdn.net/wobuhuijisuanji/article/details/122754684

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有