^_^,六楼的小牛提示了我一下,对此修改如下,实现用getchar()函数执行
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
#include "process.h"
main()
{
float a,b,c,s,area;
char temp;
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");
getchar(); /*消去缓冲区中的回车键*/
temp=getchar();
switch(temp)
{
case 'y':
main();
break;
case 'Y': /*为了防止用户区分不了大小写而做的照顾。。。*/
main();
break;
}
}
}
嗯,又有新问题了,由于是输入Y/y以外的字母回车都会变成结束程序,不知道如何限定只有输入N/n回车才能结束语句呢?