|
发表于 2019-11-4 00:51:51
|
显示全部楼层
本帖最后由 bin554385863 于 2019-11-4 03:51 编辑
#include <stdio.h>
int main()
{
int m,n,t,i,a;
printf("输入两个整数m,n:");
scanf("%d %d",&m,&n);
while(i!=0)——>i没有初始化,当然会陷入死循环
{
m%n==i;
t=n;
a=i;
n=a;
m=t;
- #include <stdio.h>
- int main(int argc, char const *argv[])
- {
- int m = 1, n = 1, res = 0, count = 0;
- printf("请输入计算的次数\n");
- scanf("%d", &count);
- while (count != 0)
- {
- printf("请输入要计算的两个数\n");
- scanf("%d%d", &m, &n);
- if ((n && m) != 0)
- {
- int t = m < n ? m : n; //最大公约数必然小于较小的数
- for (size_t i = t; i >= 1; i--)
- {
- if ((m % i == 0) && (n % i == 0))
- {
- res = i;
- break;
- }
- }
- }
- else
- {
- printf("无效数字0, 请重新输入\n\n");
- continue;
- }
- printf("[%d]和[%d]的最大公约数是(%d)\n\n", m, n, res);
- count--;
- res = 0;
- }
- return 0;
- }
复制代码
---------------------------------------------------------------------------------------------------
PS E:\Users\admin\Documents\VScode> & 'c:\Users\admin\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-ouganha0.xjx' '--stdout=Microsoft-MIEngine-Out-3d2cknc2.gdv' '--stderr=Microsoft-MIEngine-Error-o4fgkqzu.uva' '--pid=Microsoft-MIEngine-Pid-pnioebrm.avr' '--dbgExe=D:\MinGW\bin\gdb.exe' '--interpreter=mi'
请输入计算的次数
3
请输入要计算的两个数
32 0
无效数字0, 请重新输入
请输入要计算的两个数
23 25
[23]和[25]的最大公约数是(1)
请输入要计算的两个数
120 564
[120]和[564]的最大公约数是(12)
请输入要计算的两个数
999 555
[999]和[555]的最大公约数是(111)
PS E:\Users\admin\Documents\VScode> |
评分
-
查看全部评分
|