c语言问题求救,为什么总是=131
- 提问者网友:孤山下
- 2021-05-02 11:30
void main()
{int gcd(int a,int b);
int r,a,b,temp,m;
scanf("%d,%d",&a,&b);
if(a<b)
{temp=a;
a=b;
b=temp;
}
r=a%b;
if(r=0)
printf("%d",b);
for(;r!=0;)
{ m=r;
r=gcd(b,r);}
printf("%d",m);
}
int gcd(int a,int b)
{
int c;
c=a%b;
return c;
}
- 五星知识达人网友:时间的尘埃
- 2021-05-02 11:54
if(r==0) 不是 r=0
for循环里 b的值没有更新
#include "stdio.h"
void main()
{
int gcd(int a,int b);
int r,a,b,temp,m=0;
scanf("%d,%d",&a,&b);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
r=a%b;
if(r==0)
printf("%d",b);
else{
for(;r!=0;)
{
m=r;
r=gcd(b,r);
b = r;
}
printf("%d",m);
}
}
int gcd(int a,int b)
{
int c;
c=a%b;
return c;
}
- 1楼网友:北方的南先生
- 2021-05-02 14:53
#include "stdio.h" void main() {int gcd(int a,int b); int r,a,b,temp,m; scanf("%d,%d",&a,&b); if(a<b) {temp=a; a=b; b=temp; } r=a%b; if(r=0) printf("%d",b); for(;r!=0;) { m=r; r=gcd(b,r);} printf("%d",m); } int gcd(int a,int b) { int c; c=a%b; return c; }
- 2楼网友:鱼忧
- 2021-05-02 14:10
#include "stdio.h" void main() { int gcd(int a,int b); int r,a,b,temp,m;
scanf("%d,%d",&a,&b); //输入要以逗号分隔.
if(a<b) { temp=a; a=b; b=temp; }
r=a%b; if( r == 0 ) //判断相等用== printf("%d",b); else //加个else 当r不等于0时才执行这段代码. { for(;r!=0;) { m=r; r=gcd(b,r); } printf("%d",m); } } int gcd(int a,int b) { int c; c=a%b; return c; }
- 3楼网友:独行浪子会拥风
- 2021-05-02 12:35
看你程序的意思是要求最小公因数了,记得我们学的时候也做过,你试试我这个程序吧
#include"stdio.h"
void main()
{int a,b,c;
printf("请输入数据:");
scanf("%d%d",&a,&b);
c=a%b;
if(c==0)
printf("最小公因数是%d\n",c);
for(;c!=0;)
{a=b;
b=c;
c=a%b;
}
printf("最小公因数是%d\n",b);
}