-3

我有一个非常简单的程序。我需要编写一个读取两个整数(赢、输)的程序。通过传递两个数字来调用这两个函数。显示获胜和失败百分比。我写了一个代码,但它没有计算和显示百分比。需要一些帮助。

#include<stdio.h>

double Win (double winns);
double Loss (double losses);

int main() {
    int num1, num2, total;
    double winns, losses, sum1, sum2;
    printf("Enter the number of wins: ");
    scanf("%d", &num1);
    printf("Enter the number of losses: ");
    scanf("%d", &num2);

    total = num1 + num2;
    winns = (num1/total)/100;
    losses = (num2/total)/100;
    sum1 = Win(winns);
    sum2 = Loss(losses);

    printf("The team's winning percent for the years was: %.2f\n", sum1);
    printf("The team's losig percent for the years was: %.2f\n", sum2);

    return 0;
}

double Win (double winns){
   return (winns);
}

double Loss (double losses){
   return (losses);
}
4

2 回答 2

4
  1. 当您将整数除以整数时,您将得到整数。在您的情况下,它将为 0,因为num1小于total。您需要将其中一个施放为双倍。
  2. 你需要乘以 100,而不是除以得到百分比。
  3. 我看不到创建Winand的原因Loss- 你已经在winnsand中得到了答案losses
  4. 为什么用双 n 'winns' ???
于 2013-10-31T23:51:37.073 回答
0

三个问题:

首先,您应该将 num1、num2 和/或 total 转换为 double。否则,您将执行整数除法,结果将始终为零。

第二个问题:你需要乘以 100 才能得到一个百分比,而不是除以。

第三个问题: %f 格式说明符需要一个浮点数,但你给了它一个双精度数。sum1 和 sum2 需要转换为浮点数。

于 2013-10-31T23:54:19.380 回答