这个程序运行后键入两个数字会报错,请高手指正。

来源:百度知道 编辑:UC知道 时间:2024/06/25 04:41:04
#include<iostream.h>
int fun(int a,int b);
main()
{
int one;int two;
cout<<"putin the first number\n";
cin>>one;
cout<<"putin the second number\n";
cin>>two;
cout<<"the result is"<<fun(one,two);
}
int fun(int a,int b)
{
int max,min;
if(a>b)
{
max=a;
min=b;
}
else
{
min=a;
max=b;
}
int c;
for(int n=0;n<=min;n++)
{
if(max%n==0 && min%n==0)
c=n;}
return c;

}

if(max%n==0 && min%n==0) //功能是取模,但是不能将0作为除数是常识吧?

for(int n=0;n<=min;n++)
{
if(max%n==0 && min%n==0)
c=n;}
有错误,n=0时max%0肯定会报错
把n=0改为n=1就可以了