경우는 다음과 같다
//分段函数求值
#include <stdio.h>
//#include <math.h>
int main()
{
float x,y;
printf("请输入x的值:");
scanf("%f",&x);
printf("\n");
if(x<1)
{
y=x;
}
else if(x>=1&&x<10)
{
y=2*x-1;
}
else if(x>=10)
{
y=3*x-11;
}
printf("y=%.3f\n",y);
return 0;
}
테스트 출력
요점은 if 조건의 판단에 주의를 기울이고 , 로 표현해야 한다는 점 &&
입니다. 그냥 &로 쓰지 마세요.
또 다른 흥미로운 점은 출력 결과의 형식에 대한 제어입니다. 아래의 출력 형식을 변경해 보십시오.
작성 printf("y=%.5f\n",y);
하고 테스트하십시오.
다시 작성 printf("y=%.2f\n",y);
하고 다시 시도하십시오.
직접 작성한 printf("y=%f\n",y);
다음 테스트하십시오.
즉, y=%.3f
출력 형식은 소수점 셋째 자리까지 정확합니다..3이 추가되지 않으면 기본적으로 소수점 이하 6자리까지 정확합니다. double 및 float 모두 기본적으로 소수점 이하 6자리까지 정확합니다.
그러면 더 높은 정밀도로 동일한 내용을 작성할 수도 printf("y=%.8f\n",y);
있지만 의미는 크지 않을 수 있습니다.