习题3-10

来源:互联网 发布:java程序编写软件 编辑:程序博客网 时间:2024/06/05 09:05
#include <stdio.h>#include<math.h>int main()                                      {int x;int y;int z;    int max;    int med;    int min;    printf("请输入三角形的三边(按空格分开):");scanf("%d %d %d",&x,&y,&z);if(x>=y&&y>=z){max=x;med=y;min=z;}if(x>=z&&z>=y){max=x;med=z;min=y;}if(y>=x&&x>=z){max=y;med=x;        min=z;}if(y>=z&&z>=x){max=y;med=z;min=x;}if(z>=x&&x>=y){       max=z;       med=x;       min=y;}if(z>=y&&y>=x){max=z;med=y;min=x;}        if((max+med>min&&max+min>med&&med+min>max)&&(max-med<min&&max-min<med&&med-min<max)){ printf("可以构成三角形\n");printf("其面积是%f\n",sqrt(((max+med+min)/2)*(((max+med+min)/2)-max)*(((max+med+min)/2)-med)*(((max+med+min)/2)-min)));}else{do{printf("不能构成三角形\n请重新输入(按空格分开):");scanf("%d %d %d",&x,&y,&z);if(x>=y&&y>=z){max=x;med=y;min=z;}if(x>=z&&z>=y){max=x;med=z;min=y;}if(y>=x&&x>=z){max=y;med=x;        min=z;}if(y>=z&&z>=x){max=y;med=z;min=x;}if(z>=x&&x>=y){       max=z;       med=x;       min=y;}if(z>=y&&y>=x){max=z;med=y;min=x;}}while((max+med<=min||max+min<=med||med+min<=max)||(max-med>=min||max-min>=med||med-min>=max));printf("可以构成三角形\n");printf("其面积是%f\n",sqrt(((max+med+min)/2)*(((max+med+min)/2)-max)*(((max+med+min)/2)-med)*(((max+med+min)/2)-min)));}return 0;}

0 0