C语言 变量值不正确的问题

ztigrdn8  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(118)

我写了一些代码,我在c中的赋值。代码没有任何语法错误,但它打印的结果是错误的,我不知道为什么。我试图将我想要的值赋给结果变量并打印它,它工作得很好。下面是代码:

#include <stdio.h>

int main(){
long kwdikos;
double ethsios_misthos, evdomadiaia_amoivh, amoivh_ana_ora;
int ores_ergasias;

printf("Dwse ton kwdiko: ");
scanf("%ld", &kwdikos);

if (kwdikos >= 1000){
    printf("Dwse ton ethsio mistho: ");
    scanf("%g", &ethsios_misthos);
    evdomadiaia_amoivh = ethsios_misthos / 52;
    printf("H evdomadiaia amoivh einai: %g", evdomadiaia_amoivh);
}
else{
    printf("Dwse tis ores evdomadiaias ergasias: ");
    scanf("%d", &ores_ergasias);
    printf("Dwse thn amoivh ana ora: ");
    scanf("%g",&amoivh_ana_ora);
    if (ores_ergasias > 40){
        evdomadiaia_amoivh = 40 * amoivh_ana_ora + (ores_ergasias - 40) * 1.5 * amoivh_ana_ora;
    }
    else{
        evdomadiaia_amoivh = ores_ergasias * amoivh_ana_ora;
    }
    printf("H evdomadiaia amoivh einai: %g", evdomadiaia_amoivh);
}
return 0;
}

字符串
我希望evdomadiaia_amoivh是一个数字,但当我运行这段代码并打印它的结果是1.09e的东西,我不知道为什么。

avwztpqn

avwztpqn1#

printf("%g", some_floating_point_value);在值的大小既不大也不小时以定点格式打印,类似于"%f"。它以指数格式打印,类似于"%e"。示例:1.09e08
使用"%f""%F"始终以定点方式打印。

相关问题