C语言中如何除以整数并得到浮点数

0 c double int division

我正在通过获取单词、句子和字母的数量来构建段落难度标签......我正在尝试除以整数并获得浮点除法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);
    }
Run Code Online (Sandbox Code Playgroud)

Fid*_*its 6

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

float L = (((float)letter_counter / word_counter) * 100);
Run Code Online (Sandbox Code Playgroud)