vc goto 语句的使用问题 20

以下是我VC的程序代码,使用的循环语句是goto语句,但不知道为什么只能循环一次,麻烦哪位帮我解答一下,不慎感激~~~~~~#include"stdafx.h"#incl... 以下是我VC的程序代码 ,使用的循环语句是goto 语句,但不知道为什么只能循环一次,麻烦哪位帮我解答一下,不慎感激~~~~~~
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
double f(double x,double y)
{
if (x>y)
return x;
else
return y;
}
void main()
{
double A[3]={1.0e-4,1.0e-4,1.0e-4} ;

int i,j;
A: double area=sqrt(2)*A[0]*A[2]+A[0]*A[1]+A[2]*A[1];

double U[3][2]={2*(A[1]+sqrt(2)*A[2]),4*A[1]/3,2*sqrt(2)*A[2],sqrt(2)*A[0],8*A[1]/3,A[1]+sqrt(2)*A[0]};
double u[3][2];
for (i=0;i<3;i++)
for (j=0;j<2;j++)
u[i][j]=U[i][j]*1.0e-4/area;

double u1[3];
for (i=0;i<3;i++)
{
u1[i]=f(u[i][0],u[i][1]);
A[i]=A[i]*u1[i];
}
for (i=0;i<3;i++)
{
cout<<"A[i]="<<A[i]<<" "<<endl;
cout<<"u1[i]="<<u1[i]<<" "<<endl;
}
double weight=sqrt(2)*A[0]+sqrt(2)*A[2]+A[1];
cout<<weight<<"pl"<<endl;
double m=f(f(u1[0],u1[1]),u1[2]);
double n=abs(1-m);
if(n>0.05) goto A;
我刚自己把它改过来了,主要问题是求绝对值abs时,是取整,所以求得的绝对值是0,不满足循环的跳转条件,因此goto 语句没有跳转,
展开
 我来答
fengfeng111188
2008-09-08 · TA获得超过167个赞
知道答主
回答量:125
采纳率:0%
帮助的人:131万
展开全部
goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。 完成了一次循环之后转去执行下一循环,也会程序影响执行顺序,但是有的时候会影响程序的稳定性。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式