为什么我答题与答案不符,我哪错了

#include
#include

void main() {
double a, x, y;
double e=1.71828;
scanf("%f %f", &a, &x);
y = sqrt(a*x) + log(a+x) + pow(e, x);
printf("y = %.2f", y);
return 0;
}
题目;编程求 y=
ax

+ln(a+x)+e
x
。从键盘输入a和x,输出结果保留2位小数。

输入格式:
从键盘输入a和x的值,中间用空格分隔。

输出格式:
输出结果保留2位小数。

输入样例:
5.5 2.4
输出样例:
y = 16.72

double是双浮点精度小数,要配合%lf使用,此外void也可以改为int,有些老旧编译器会报错

scanf("%lf %lf", &a, &x);

img

img


#include <stdio.h>
#include <math.h>
    int main(){
        double  a,x,y;
        
        scanf("%lf%lf",&a,&x);  //双精度  输入用lf
        
        y=sqrt(a*x)+log(a+x)+exp(x);
        
        printf("y = %.2lf",y); //  输出也要用lf
        
        return 0;
    }