求助大神,哪里出问题了,运行出现问题
#include <stdio.h>#include<math.h>
void main()
{ double q,d,b,m,j,h,z,x,c,i,a,v;
printf(" 欢迎使用 \n");
printf("请按提示操作,谢谢!\n");
printf("梯形渠道断面临界水深问题请按1\n");
printf("圆形渠道断面临界水深问题请按2\n");
scanf("%lf",z);
if (z==1)
{
printf("请输入流量的值\n");
scanf("%lf",q);
printf("请输入m的值\n");
scanf("%lf",m);
printf("请输入b的值\n");
scanf("%lf",b);
i=0;
a=0;
v=0;
x=0;
while (x<q)
{
i=i+0.000001;
a=i*b+i*i*m;
v=b+2*m*i;
a=pow(a,3);
x=9.8*a/v;
x=pow(x,0.5);
}
printf("临界水深为%lf\n",x);
}
else {
printf("请输入流量的值\n");
scanf("%lf",q);
printf("请输入d的值\n");
scanf("%lf",d);
j=0;
c=0;
h=0;
a=0;
v=0;
x=0;
while (x<q)
{
h=h+0.000001;
h=h/d;
h=pow(h,0.5);
j=asin(h);
j=4*j;
a=j-sin(j);
a=a/8*d*d;
v=sin(j/2);
v=v*d;
x=pow(a,3);
x=x*9.8/v;
x=pow(x,0.5);
}
printf("临界水深为%lf\n",x);
}
}