【发布时间】:2019-10-20 06:39:45
【问题描述】:
此程序打印两个间隔的重叠。但问题是,如果我输入,例如数字: 1.1 -1.1 1.1 1.1,它打印出整数。我尝试在最后一个 printf 命令中编写 %1.1f,但结果更糟,因为如果我输入 1 2 1 1,它会打印出 1.0 和 4.0。如果输入小数或整数,如何获得正确的打印?
#include <math.h>
int main() {
float a,b,c,x,derivative;
printf("Input coefficients a, b i c: ");
scanf("%f %f %f",&a,&b,&c);
if((a<(-10)) || (a>10) || (b<(-10)) || (b>10) || (c<(-10)) || (c>10)){
printf("Coefficients a, b i c do not belong in range of (-10,10).");
return 1;
}
printf("Input point x: ");
scanf("%f",&x);
derivative=(2*a*x)+b+(c*0);
printf("First derivation in point x=%.f je %.f.",x,derivative);
return 0;
}
【问题讨论】: