关于c语言程序执行出错的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 20:23:21
这样一个程序,执行之后却在最后的直径和m出现“1.#INF00”这样的结果,不知道那里出错了。
还有在最后:
if ((M1-M)>10)
{
printf("你所进行的设计很不合理,请重新设计。\n\n");

}
else if (M1-M<=10||M1-M>0)
{
printf("你所进行的设计不是很合理,会导致材料的浪费,建议重新设计。\n是否重新设计?请输入(Y\N)");
scanf("%d",&YN);
if(YN='Y') ;
if(YN='N') ;
}
这里想在不合理时返回前面或者输入Y时返回前面。我用goto老是产生错误。请哪位高手帮忙解决一下。
因为程序有点长,发不完,请有意帮助的高手去下载源程序
下载地址:http://zlc420.gbaopan.com/files/f56d1266742b46f8978bc6280cd9db3f.gbp
可以用我的帐号登陆之后下载。用户名zlc420,密码123456
谢谢了!!!

请高手不怕麻烦去下载来运行一下,谢谢了!!
如果解决了我再加分

for(;;) //可以用在你要goto的地方
{
.
.
.
. //你的程序
.
.
continue
}

这应该是另一种方式吧
不要打脸~~

难。。。。。。。。

scanf("%d",&YN);
if(YN='Y') ;
if(YN='N') ;
如果你YN定义为char型 ,第一句中%d不可以输入Y或N字符,你可改成YN=getche()。当然后两句更错了,等号应改为==号,赋值与等于的区别。
直径和m出现1.#INF00,说明你的值超出你定义的类型的范围。检查你定义的类型及M和直径最后得到的值。