long long int和long double数据类型有什么问题?

时间:2019-10-08 09:58:44

标签: int double long-integer unsigned

如果我使用int和double,则我的输入/输出是正确的,但是如果我使用long long int和long double,则每次都只输入“ 0”。

(注意:long long int和long double的代码可以在Android上的移动C编译器上运行,但不能在桌面上运行,而我使用Dev C ++是因为该课程使用了它。)

#include <stdio.h>

int main () 
{
//  This one doesn't works.
    unsigned long int hit;
    scanf ("%lu", &hit);
    long double hitd = hit;
    long double stack = hitd / 2 * (2 * 0 + (hitd - 1) * 50);
    printf ("%Lf\n", hitd * 100 + stack);
    return 0;

/*  This one works. 
    int hit;
    scanf ("%d", &hit);
    double hitd = hit;
    double stack = hitd / 2 * (2 * 0 + (hitd - 1) * 50);
    printf ("%.0lf\n", hitd * 100 + stack);
    return 0; 
*/
}

此外,由于某些限制,我的算法测验要求我使用long long int和long double。我该如何解决?

0 个答案:

没有答案