这个程序哪里错了? #include <stdio.h> int main () {int x,y,z,a; scanf("%d %d",&x,&y); a=x*y; while (

#include <stdio.h>
int main ()
{int x,y,z,a;
scanf("%d %d",&x,&y);
a=x*y;
while (1)
{z=x%y;
if (z==0)
{printf("%d %d\n",z,a/z);}break;
x=y;y=z;};
while (1);
return 0;
}
是DEV C++ 4.9.9.2版的,求两个数的最大公因数,最小公倍数
电脑显示应用程序发生异常

是{printf("%d %d\n",z,a/z);break;}出错了
a没有定义它的类型。
程序的最后没了}}
但是程序远远没有这些基本的错误。
求两个数的最大公因数,最先得比较两个数的大小
需要加一个
int z;
if(x<y)
{
z=x;x=y;y=z;
}
其次你的注意,在你的函数中要有提示输入的语句:
printf("please two number you want to compare");
还要注意的是你的书写,一定注意要有层次感。
具体的编程语言我就不给你说了,因为这个每本入门编程书都有哈!

对了,你一定要得学会看懂,编程工具给出的异常语句。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-09
{int x,y,z,a;
scanf("%d %d",&x,&y);
a=x*y;
while (1)

{
z=x%y;
if (z==0)
{
printf("%d %d\n",z,a/z);
break;
}
x=y;
y=z;
}
return 0;
}
现在对了,你能说明一下你的程序是干什么的吗?
第2个回答  2011-01-14
if语句错了,学过异常处理没有?break不能写在那里的,循环结束不应写在if语句里。。。。。
循环语句也 不对。。。。。自己下去再看下循环语句吧,学学异常处理。
第3个回答  2011-01-09
while (1);
这后面多了个分号,导致死循环
第4个回答  2011-01-09
程序不全,已知的是变量没有初始化
相似回答
大家正在搜