我用c++编程软件编写c语言,编了一道求约数的题目,编译可以但是结果总是不正确,得出的正确的答案
我用c++编程软件编写c语言,编了一道求约数的题目,编译没有问题,但是结果总是不能得出的正确的答案。我写的程序应该没有问题,在别人机子是运行可以得到正确的答案,而在我的电...
我用c++编程软件编写c语言,编了一道求约数的题目,编译没有问题,但是结果总是不能得出的正确的答案。我写的程序应该没有问题,在别人机子是运行可以得到正确的答案,而在我的电脑是却不可以,难道是硬件问题?写的程序如下
#include<stdio.h>
#include<stdlib.h>
int main()
{int p ,r,n,m,temp;
printf("请输入两个正整数n,m :");
scanf ("%d,%d",&n,&m);
if (n<m)
{ temp=n;
n=m;
m=temp;
}
p=n*m;
while (m!=0)
{r=n%m;
n=m;
m=r;
}
printf ("它们的最大公约数为 :%d\n",n);
printf ("它们的最小公约数为:%d\n",p/n);
system("pause");
} 运行结果是 : 它们的最大公约数为:3
它们的最大公约数为: -234694388
显然结果错误,但是我找不出哪里出问题啦..请高手指点..
我输入的是12和8,用的是DEV C++软件,别人机子上面用同样的软件运行结果正确 ,而我的却错啦。。。 展开
#include<stdio.h>
#include<stdlib.h>
int main()
{int p ,r,n,m,temp;
printf("请输入两个正整数n,m :");
scanf ("%d,%d",&n,&m);
if (n<m)
{ temp=n;
n=m;
m=temp;
}
p=n*m;
while (m!=0)
{r=n%m;
n=m;
m=r;
}
printf ("它们的最大公约数为 :%d\n",n);
printf ("它们的最小公约数为:%d\n",p/n);
system("pause");
} 运行结果是 : 它们的最大公约数为:3
它们的最大公约数为: -234694388
显然结果错误,但是我找不出哪里出问题啦..请高手指点..
我输入的是12和8,用的是DEV C++软件,别人机子上面用同样的软件运行结果正确 ,而我的却错啦。。。 展开
展开全部
你的错误是 scanf ("%d,%d",&n,&m);
应该改为scanf ("%d%d",&n,&m); 就是去掉两个%d中间的逗号
我自己写的一个
#include<stdio.h>
#include<stdlib.h>
int main()
{int p ,r,n,m,temp;
printf("请输入两个正整数n,m :");
scanf ("%d%d",&n,&m);
while(n!=m)
{
if(n>m)
{
n=n-m;
}
else
{
m=m-n;
}
}
printf ("它们的最大公约数为 :%d\n",m);
system("pause");
}
应该改为scanf ("%d%d",&n,&m); 就是去掉两个%d中间的逗号
我自己写的一个
#include<stdio.h>
#include<stdlib.h>
int main()
{int p ,r,n,m,temp;
printf("请输入两个正整数n,m :");
scanf ("%d%d",&n,&m);
while(n!=m)
{
if(n>m)
{
n=n-m;
}
else
{
m=m-n;
}
}
printf ("它们的最大公约数为 :%d\n",m);
system("pause");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询