本代码难点在于函数与C的表达式转换
比如三角形面积可以用海伦公式
在C中是
int main()
{
.
.
.
sqrt(p*(p-a)*(p-b)*(p-c));
.
.
.
}
a+b>c是
int main()
{
.
.
.
if(a+b>c)
{
if(c+b>a)
{
if(a+c>b)
{
goto 3ok;
}
}
}
3ok: ;
.
.
.
}
不多逼逼,还有很多种面积,上代码
#include#include int main() { int s,d,m,n,l,o,v; float p,x,r,g,h,t,y,a,c,b; f: ; printf("你想要算什么的面积"); printf("n(1确定 0:下一个)"); printf("n长方形"); scanf("%d",&s); switch(s) { case 1:goto go1; } printf("三角形"); scanf("%d",&d); switch(d) { case 1:goto go2; } printf("长方体"); scanf("%d",&l); switch(l) { case 1:goto go3; } printf("圆形"); scanf("%d",&o); switch(o) { case 1:goto go4; } printf("梯形"); scanf("%d",&v); switch(v) { case 1:goto go5; case 0:goto f; } go1: ; switch(s) { case 0:goto f; case 1: { go1yes: ; printf("请输入长: "); scanf("%f",&a); printf("请输入宽: "); scanf("%f",&b); n=a*b; printf("他的面积是 :%d",n); printf("n还要继续计算吗"); printf("n0:退出 1:继续 2:计算别的"); scanf("%d",&m); switch(m) { case 0:goto end; case 1:goto go1yes; case 2:goto f; } } } go2: ; switch(d) { case 0:goto f; case 1: { go2yes: ; printf("请输入a边: "); scanf("%f",&a); printf("请输入b边: "); scanf("%f",&b); printf("请输入c边: "); scanf("%f",&c); if(a+b<=c) printf("n没有这个三角形"); if(c+b<=a) printf("n没有这个三角形"); if(a+c<=b) printf("n没有这个三角形"); p=(a+b+c)/2; x=sqrt(p*(p-a)*(p-b)*(p-c)); if(a+b>c) { if(b+c>a) { if(a+c>b) { goto 3go; } } } 3go: ; printf("他的面积是:%f",x); printf("n0:退出 1:继续 2:计算别的"); scanf("%d",&m); switch(m) { case 0:goto end; case 1:goto go2yes; case 2:goto f; } } } go3: ; switch(l) { case 1: { go3yes: ; printf("请输入长: "); scanf("%f",&a); printf("请输入宽: "); scanf("%f",&b); printf("请输入高: "); scanf("%f",&c); x=a*b*c; printf("他的面积是:%f ",x); printf("n0:退出 1:继续 2:计算别的"); scanf("%d",&m); switch(m) { case 0:goto end; case 1:goto go3yes; case 2:goto f; } } } go4: ; switch(o) { case 1: { go4yes: ; printf("请输入直径: "); scanf("%f",&g); r=g/2; x=(3.1415*r)*r; printf("他的面积是:%f",x); printf("n0:退出 1:继续 2:计算别的"); scanf("%d",&m); switch(m) { case 0:goto end; case 1:goto go4yes; case 2:goto f; } } } go5: ; switch(v) { case 0:goto f; case 1: { go5yes: ; printf("请输入上底高度: "); scanf("%f",&h); printf("请输入下底高度: "); scanf("%f",&t); printf("请输入高度: "); scanf("%f",&y); x=((h+t)*y)/2; printf("他的面积是: %f",x); printf("n0:退出 1:继续 2:计算别的"); scanf("%d",&m); switch(m) { case 0:goto end; case 1:goto go5yes; case 2:goto f; } } } end: ; return 0; }



