Compreendo que no contexto atual, tendo a variável 'salario' com o valor de 3300.00 ele irá entrar em apenas um dos If's, porém caso o valor seja 2800.00 ou 3751.00 ele irá entrar em dois! Pois nas condicionais está especificado da seguinte forma:
if (salario >= 1900.00 && salario <= 2800.00) { ... }
if (salario >= 2800.00 && salario <= 3751.00) { ... }
sendo que o correto para que ele não entre em dois If's ao mesmo tempo seria:
if (salario >= 1900.00 && salario < 2800.00) { ... }
if (salario >= 2800.00 && salario < 3751.00) { ... }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ajudandoJoao
{
class Program
{
static void Main(string[] args)
{
double salario = 3300.00;
if (salario >= 1900.00 && salario < 2800.00)
{
Console.WriteLine("O IR é de 7.5%");
Console.WriteLine("O valor é de R$ 142");
}
if (salario >= 2800.00 && salario < 3751.00)
{
Console.WriteLine("O IR é de 15%");
Console.WriteLine("O valor é de R$ 350");
}
if (salario >= 3751.00 && salario <= 4664.00)
{
Console.WriteLine("O IR é de 22.5%");
Console.WriteLine("O valor é de R$ 636");
}
Console.ReadLine();
}
}
}