pesquisa

URI PROBLEMA 2486 - C Mais ou Menos? SOLUÇÃO EM C

URI Online Judge | 2486

C Mais ou Menos?

Por João Marcos Salvanini Bellini de Moraes, IFSULDEMINAS BR Brazil
Timelimit: 1
Ultimamente, diversas pessoas estão indo à Dra. Cláudia Café com Leite para saber se estão consumindo a quantidade recomendada diária de vitamina C. Isso tem a deixado exausta, e por isso ela lhe pediu para escrever um programa que, dado o consumo diário de alimentos ricos em vitamina C por uma pessoa, indique o quanto essa pessoa deve consumir a mais ou a menos para atingir o recomendado.
Para tal, você poderá utilizar a tabela a seguir:
Alimentos ricos em Vitamina CQuantidade de Vitamina C
suco de laranja120 mg
morango fresco85 mg
mamao85 mg
goiaba vermelha70 mg
manga56 mg
laranja50 mg
brocolis34 mg
Considere que o consumo diário recomendado de vitamina C está entre 110 mg e 130 mg, inclusive.

Entrada

Cada caso de teste é composto um inteiro T (1 ≤ T ≤ 7) indicando que a pessoa consome diariamente T alimentos entre os 7 alimentos da tabela. Em seguida, haverá T linhas com um inteiro N e um alimento (totalmente em caixa baixa e sem acentuações), indicando que a pessoa consome uma quantidade daquele alimento. A entrada termina com T = 0.

Saída

Para cada caso de teste (T), se o consumo ultrapassou o limite recomendado, imprima "Menos X mg", em que X representa a quantidade a menos a ser consumida para atingir o limite recomendado; se o consumo não atingiu o recomendado, imprima "Mais X mg", em que X representa a quantidade a mais para atingir o recomendado; se o consumo está dentro do intervalo recomendado, imprima "X mg", em que X representa a quantidade consumida diariamente pela pessoa.



#include <stdio.h>
#include <string.h>

int main()
{
    int T;

    while (1) {
        scanf("%d\n", &T);

        if (T > 0) {
            int i;
            int intake = 0;

            for (i = 0; i < T; ++i) {
                char line[31], *food;
                int N, j = 0;

                fgets(line, 30, stdin);

                sscanf(line, "%d", &N);
                while (line[j] != ' ')
                    ++j;
                food = line + j + 1;

                if (!strncmp(food, "suco de laranja", 15))
                    intake += N * 120;
                else if (!strncmp(food, "morango fresco", 14))
                    intake += N * 85;
                else if (!strncmp(food, "mamao", 5))
                    intake += N * 85;
                else if (!strncmp(food, "goiaba vermelha", 15))
                    intake += N * 70;
                else if (!strncmp(food, "manga", 5))
                    intake += N * 56;
                else if (!strncmp(food, "laranja", 7))
                    intake += N * 50;
                else if (!strncmp(food, "brocolis", 8))
                    intake += N * 34;
            }

            if (intake < 110)
                printf("Mais %d mg\n", 110 - intake);
            else if (intake > 130)
                printf("Menos %d mg\n", intake - 130);
            else
                printf("%d mg\n", intake);
        } else
            break;
    }

    return 0;
}

Postar um comentário

0 Comentários