#include "stdio.h"
#include "math.h"
#include "process.h"
main()
{
float a,b,c,s,area;
printf("a=");
scanf("%f",&a);
printf("b=");
scanf("%f",&b);
printf("c=");
scanf("%f",&c);
if(a+b>c&&b+c>a&&a+c>b)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f",area);
}
else
{
printf("数据输入错误!重新输入数据请按y并回车,否则请按n回车。\n");
/char temp;
scanf("%c",&temp);
switch(temp)
{
case 'y':
main();
break;
case 'n':
exit(1);
break;
}
}
}
原意本是输入三角形的三边然后求面积,并且防止使用者输入错误的三边值所以叫他重新输入数据,如果要重新输入就按y并回车,不想输入就按n然后回车退出程序。
问题来了,只要输入了错误的三边值只会显示提示信息“数据输入错误!重新输入数据请按y并回车,否则请按n回车”然后就直接结束任务了,到底在哪里出错呢?对了,现在程序是运行不了的,去掉else之后就可以计算正常三角形的面积,总之就是错误多多啦,不用牛人来费心来解答了,只希望各位小牛能够指明指明我等小辈,拜托拜托!
P.S。执行环境是在钟家民编的那套TC集成实验与学习环境7.2中的