首页 > 解决方案 > 如何在C中除以整数并获得浮点数

问题描述

我正在通过获取单词、句子和字母的数量来构建段落难度标记器......我正在尝试除以整数并获得浮点for example ((letter_counter / word_counter) * 100);除法 (80 / 21) * 100 返回 400 而不是 380.9523,什么我做错了吗?感谢一些帮助!这是我的代码示例!letter_counter, word_counter, sentence_counter = int


    // Putting all together
    float L = ((letter_counter / word_counter) * 100);
    printf("The L value = %f\n", L);

    float S = ((float) sentence_counter / word_counter) * 100;
    printf("The S value = %f\n", S);

    int index = round(0.0588 * L - 0.296 * S - 15.8);
    printf("Grade %i\n", index);

    if (index < 1)
    {
        printf("Before Grade 1\n");
    }
    else if (index >= 16)
    {
        printf("Grade 16+\n");
    }
    else
    {
        printf("Grade %i\n", index);
    }

标签: cintdoubledivision

解决方案


您必须将其中一个ints 转换为 a float。例如:

float L = (((float)letter_counter / word_counter) * 100);

推荐阅读