我有一個數學問題,我需要爲即將到來的C#基礎考試解決。下面的代碼是我迄今爲止完成的。讓我解釋一下代碼:百分比計算不正確
int capacity
是足球場的容量。 [1..10000]
int fans
是出席[1..10000]
在for
循環var sector
是每個風扇的4個扇區之間的分配風扇的數量 - A,B,V,G
我需要計算每個扇區的風扇百分比以及所有風扇相對於體育場容量的百分比。
結果返回0.00的原因是什麼?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FootballTournament
{
class FootballTournament
{
static void Main(string[] args)
{
int capacity = int.Parse(Console.ReadLine());
int fans = int.Parse(Console.ReadLine());
int sector_A = 0;
int sector_B = 0;
int sector_V = 0;
int sector_G = 0;
for (int i = 0; i < fans; i++)
{
var sector = Console.ReadLine();
if(sector == "A")
{
sector_A++;
}
else if (sector == "B")
{
sector_B++;
}
else if (sector == "V")
{
sector_V++;
}
else if (sector == "G")
{
sector_G++;
}
}
Console.WriteLine("{0:f2}%", (sector_A/fans * 100));
Console.WriteLine("{0:f2}%", (sector_B/fans * 100));
Console.WriteLine("{0:f2}%", (sector_V/fans * 100));
Console.WriteLine("{0:f2}%", (sector_G/fans * 100));
Console.WriteLine("{0:f2}%", (fans/capacity * 100));
}
}
}
輸入/輸出例如:
Input:
76
10
A
V
V
V
G
B
A
V
B
B
Output:
20.00%
30.00%
40.00%
10.00%
13.16%
如果你不需要兩位小數,例如'sector_A * 100/fans',整數除法本身不會有問題。雖然沒有真正幫助你的具體情況。 – harold