为什么我的变量名为;percA“;及;percB";将以“的形式出现”;0.00.“;不管怎样?

为什么我的变量名为;percA“;及;percB";将以“的形式出现”;0.00.“;不管怎样?,c,C,(如果这里没有发现问题,可以包括我的程序的更多行;只包括与问题相关的行。)您的演员阵容放错地方了。您需要强制转换除法运算符的一个操作数。否则,您将执行整数除法而不是浮点除法 int gamesTotal, winsA, lossA, winsB, lossB, magicNum, gamesLeft; double percA, percB, percToClinch; percA = (double) (winsA / (winsA + lossA)); percB = (double) (

(如果这里没有发现问题,可以包括我的程序的更多行;只包括与问题相关的行。)

您的演员阵容放错地方了。您需要强制转换除法运算符的一个操作数。否则,您将执行整数除法而不是浮点除法

int gamesTotal, winsA, lossA, winsB, lossB, magicNum, gamesLeft;
double percA, percB, percToClinch;

percA = (double) (winsA / (winsA + lossA));
percB = (double) (winsB / (winsB + lossB));

结果是零,因为你在除以整数,分母大于分子。整数部分为0,小数部分被截断。

Cast
winsA
winsB
lossA
,和
lossB
as
double
在运算中。A/B与Adouble甚至不需要
printf(“%d%%\n”,winsA*100/(winsA+lossA);
或使用
(winsA*100+(winsA+lossA)/2)/(winsA+lossA)
获得四舍五入答案。
percA = (double)winsA / (winsA + lossA);
percB = (double)winsB / (winsB + lossB);