/*
a b t 假如输入12 和 18
12 18 12 a%b==12 即 t=12
18 12 6 a=b b=t 再a%b==6
12 6 0 同理
6 0 b=0 结束循环 得到最大公约数
*/
#include<stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
while(b!=0)
{
t=a%b;
a=b;
b=t;
}
printf("最大公约数为%d\n",a);
return 0;
}
你的 t 变量呢 ,没有定义啊,
另外 输入 要原样输入 , 中间要有个英文逗号
您在代码中定义的变量 t 并未使用,并且其与 a 的值在每次循环中都不同,因此您的程序并没有正确地计算最大公约数。
#include <stdio.h>
int main() {
int a, b;
scanf("%d,%d", &a, &b);
while (b != 0) {
a %= b;
b = a;
}
printf("最大公约数为%d\n", a);
return 0;
}
参数t没做定义哦!编译应该会报错哦!
不知道你这个问题是否已经解决, 如果还没有解决的话:请问您使用的是什么编程语言?这将有助于我更好地为您提供解决方案。