#includestdio.h
#includemath.h
int main()
{
int mark = -1;
float x,y;
scanf("%f",x);
mark = 0;
}
else
mark = 1;
switch(mark)
default: mark = 100;
if(mark == 100)
printf("error\n");
return 0;
printf("%f\n",y);
你这个题是ACM的题目?我看了下你的程序,正经的数字是可以的,但你说错了,那就该就是要考虑极限情况了.譬如x=0.0000000000000000000000000000000001的时候,你的程序输出是100.0.....应该就是出错今天这一节了.
还有我的老师告诉我,使用float不要用x==0这种表达方式,,因为float类型的等于其实就是在有限的位数上比较大小...当数字极小或者极大的时候就会出现不相等的数字会出现相等的情况了.
换成double就行了
#include "stdio.h"
void main()
double a=0.0;
while(scanf("%lf",a)!=EOF)
if(a0)
a=a*a+1;
else if(a0)
a=-a;
else if(a==0)
a=100.0;
printf("%.1lf\n",a);
a=0.0;
#include?stdio.h?
int?main()?
{double?x,y;
scanf("%lf",x);
if(x0)y=x*x-1;
else?if(x1)y=x*x;
else?y=x*x+1;
printf("%g",y);
return?0;?
以上就是土嘎嘎小编为大家整理的c语言实现分段函数求值相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!