注册 登录
编程论坛 C语言论坛

输入输出格式不同导致乱码

RecluseF 发布于 2020-09-14 17:56, 1505 次点击
这个程序用lf输出可以得到结果,但是如果用ld输出会变成一堆乱码,题目要求用ld输出,不知道问题出在哪里,感谢大佬指点。


#include <stdio.h>
#include <stdlib.h>
#include<math.h>

int main()
{   double  a;
    scanf("%lf",&a);
    if(a<100000)
        printf("bonus=%.0lf\n",0.1*a);
    if( (100000<a)&&(a<200000))
        printf("bonus=%.0lf\n",1000+(a-100000)*0.1);
    if((200000<a)&&(a<400000))
        printf("bonus=%.0lf\n",11000+(a-200000)*0.075);
    if((400000<a)&&(a<600000))
        printf("bonus=%.0lf\n",26000+(a-400000)*0.03);
    if((600000<a)&&(a<1000000))
        printf("bonus=%.0lf\n",32000+(a-600000)*0.015);
    if (a>1000000)
        printf("bonus=%.0lf\n",38000+(a-1000000)*0.01);



    return 0;
}
2 回复
#2
纯蓝之刃2020-09-14 18:24
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>

int main()
{
    double  a;
    scanf("%lf",&a);
    if(a<100000)
        printf("bonus=%ld\n",(long)(0.1*a));
    if((100000<a)&&(a<200000))
        printf("bonus=%ld\n",(long)(1000+(a-100000)*0.1));
    if((200000<a)&&(a<400000))
        printf("bonus=%ld\n",(long)(11000+(a-200000)*0.075));
    if((400000<a)&&(a<600000))
        printf("bonus=%ld\n",(long)(26000+(a-400000)*0.03));
    if((600000<a)&&(a<1000000))
        printf("bonus=%ld\n",(long)(32000+(a-600000)*0.015));
    if(a>1000000)
        printf("bonus=%ld\n",(long)(38000+(a-1000000)*0.01));

    return 0;
}
#3
RecluseF2020-09-14 19:03
回复 2楼 纯蓝之刃
我知道我错哪了,谢谢
1