运行输路程多少d就是多少,实在看不出来哪错了🤕

#include "stdio.h"
void main()
{float s,d;
printf("请输入路程s:");
scanf("%f",&s);

if (500>s)
d=1;
else if (500<=s&&s<1000)
d=0.95;
else if (3000<=s&&s<5000)
d=0.7;
else if(s>5000)
d=0.5;
printf("d=%.2lf\n",s,d);
}

【温馨提示:若能帮助到您,望给个采纳答案,谢谢】
1、修改后效果

img

2、原因
因为输出那里写错了,因为d=%.2lf取的值是s,所以你输入多少值就是输出多少值,没有输出到d值,把s值当做d值输出了

img

3、修改
将printf("d=%.2lf\n",s,d);改为 printf("s=%.2lf,d=%.2lf\n",s,d);

#include <stdio.h>

int main(void) { 
    float s,d;
    printf("请输入路程s:");
    scanf("%f",&s);
    
    if (500>s)
    d=1;
    else if (500<=s&&s<1000)
    d=0.95;
    else if (3000<=s&&s<5000)
    d=0.7;
    else if(s>5000)
    d=0.5;
    printf("s=%.2lf,d=%.2lf\n",s,d);
}