Я делаю программу, которая вычисляет процент мужчин и женщин в классе. Но это дает мне неверный результат.
Код:
package main
import {
"fmt"
}
var total, mujeres, hombres float64
func main() {
fmt.Printf("Número de mujeres:")
fmt.Scanln(&mujeres)
fmt.Printf("Número de hombres:")
fmt.Scanln(&hombres)
total = mujeres + hombres
mujeres = (mujeres / total) * 100
hombres = (hombres / total) * 100
print("En al salón de clases hay ", mujeres, "% de mujeres y ",
hombres, "% de hombres")
}
И вывод, который я получаю при вводе 50
для обеих величин:
En al salón de clases hay +5.000000+001% de mujeres y +5.000000+001% de hombres
Я хочу знать, что вызывает эту проблему и как ее решить.
Спасибо, Пабло, я буду иметь это в виду в следующий раз.
Это не дает неправильного результата, это дает правильный результат в неправильном формате. Значение +5.000000e+001
равно 5x101
, что равно 50
.
Если вы хотите, чтобы они были отформатированы иначе, чем по умолчанию, вам нужно указать это, например:
fmt.Printf("En al salón de clases hay %.1f%% du mujeres y %.1f%% du hombres\n",
mujeres, hombres)
Жан Карло, убедитесь, что в будущем код вводится в вопрос как текст, а не как изображение (будь то в вопросе или вне вопроса). Изображения мешают людям помочь вам, поэтому, скорее всего, они будут закрыты как неподходящие. Я преобразовал ваше изображение в код/вывод для этого вопроса, хотя, по общему признанию, немного упростил его, потому что мой испанский (?) довольно ограничен. Как в «хомбре» из старых западных фильмов, так и в «у» из сети быстрого питания Guzman y Gomez, которая мексиканская, но близкая :-)