这个程序哪里错了? #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
程序不全,已知的是变量没有初始化

C++该语句出错在哪里?要怎么样改??
include <stdio.h> int main(){ int x,y,z;scanf("%d%d",&x,&y); \/\/取地址符,输入格式中一般不要加一些字符,如果加入,需要自己输入的时候也要输入 if((x-y)>0)z=x;else z=y;printf("%d\\n",z);return 0;}

#include<stdio.h> int main(void) {float x,y; scanf("%d,%d",&...
同意楼上的,你写错了,在printf语句中,应该把取地址符去掉,这样才能正确输出你想要的结果!此外,x,y是浮点数,就应该用%f格式输出,而不能选择%d!或者把float改为int,如果按照楼主的写法,则会输出x和y的地址;例如输入1、2,会输出2293572和2293568(不同编译器下不同时刻输出结果不同)并且建议...

#include<stdio.h> main() {int a; scanf("%d",&a); printf("%d",a...
include<stdio.h> int main(){ int a;scanf("%d",&a);printf("%d",a);return 0;} 第二种:include<stdio.h> void main(){ int a;scanf("%d",&a);printf("%d",a);} 你需要给main函数制定一个类型,在c里面函数也是有类型的,函数类型根据它有无返回值,或则返回值的类型决定。希望...

#include<stdio.h> main() { int x,y; printf(""); scanf("%d;&x...
你程序有语法错误scanf("%d",&x);而且也不完整,后面的没有,前面的这些和输出31没有关系

#include<stdio.h> int main() { int max(int x,int y); int a,b,c...
#include<stdio.h> int main() { int max(int x,int y); int a,b,c; scanf("%d%d",&a,&b); c=max(inta,intb);printf("max=%d\\n",c);return0;}这段代码有什么错误?... c=max(int a,int b);printf("max=%d\\n",c);return 0;}这段代码有什么错误? 展开  我来答 ...

这个c程序哪里错了?编译器 告诉我scanf函数错了,可是他没错呀
include <stdio.h> int main(int argc, char **argv){ int a, b, c; \/\/定义三角形的三边 printf("请输入三角形三边的边长(边长必须为整数).\\n");scanf("%d", &a);scanf("%d", &b);scanf("%d", &c);if ( a + b > c && a + c > b && b + c > a ){ if ( a...

麻烦大家找一下这个程序的错(编译的时候没提示有错,但运行会出现乱码...
printf时的取地址&号用错了 应该是printf("%d",c);本来打印的是c,你这么一取地址,变成了输出c的内存地址,看起来肯定像乱码啦

各位C语言高手教教我 我这程序错在哪里
\/\/这样就没错了:include<stdio.h> include<conio.h> int main(){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a+b>c&&a+c>b&&b+c>a){ if(a==b&&b==c) printf("dbsjx");else if(a==b||a==c||b==c) printf("dysjx");else if(a*a+b*b==c*c||a*a+c*...

#include<stdio.h> main() { int x,y,z; scanf("%d%d%d\\n",x,y,z...
scanf("%d%d%d\\n",x,y,z),输入之间应该有空格。scanf("%d %d %d\\n",x,y,z),这样写才对!

#include<stdio.h> int main() { int a; printf("\/nplease input a...
错误有三,一是if体少一个大括号导致else配对失败,二是笔误(转义字符\\n),三是误认为数学表达式在C语言里仍能识别。(通常main返回0)改完代码如下(可正常运行,if里的判断有重叠,我稍微改了下,如果不符合你的要求可以重改):include<stdio.h>int main(){ int a; printf("\\nPlease...

相似回答
大家正在搜