华为麦芒4拆机换电池:程序代码

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 20:11:42
#include "stdio.h"
int min(int i,int j)
{int temp;
while(j!=0)
{temp=i%j;
i=j;
j=temp;
}
return(j);
}
int max(int x,int y)
{int a;
a=x*y;
return(a);
}
main()
{int n,m,mx,mi;
printf("Input two numbers:");
scanf("%d %d",&m,&n);
mi=min(m,n);
mx=max(m,n)/mi;
printf("zui da gong yueshu:%d",mi);
printf("zui xiao gong bei shu:%d",mx);
}
程序没问题,可是运行不了输入两个数后它显示Divide error怎么回事?

在min函数里,你的循环条件是j不等于0,而这样一循环,返回值一定为0,这样分母为0,divide error也不奇怪了~

while(j!=0)
{temp=i%j;
i=j;
j=temp;
}
看看你的while循环条件,当跳出循环时j很可能等于0的,这时再mi被赋值为0,
那肯定报除0错!

int min(int i,int j)
{int temp;
while(j!=0)
{temp=i%j;
i=j;
j=temp;
}
//下面这句改成return(i);
//return(j);
return (i);
}