URI Online Judge | 2486
C Mais ou Menos?
Por João Marcos Salvanini Bellini de Moraes, IFSULDEMINAS
Brazil
Timelimit: 1
Brazil
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 C | Quantidade de Vitamina C |
|---|---|
| suco de laranja | 120 mg |
| morango fresco | 85 mg |
| mamao | 85 mg |
| goiaba vermelha | 70 mg |
| manga | 56 mg |
| laranja | 50 mg |
| brocolis | 34 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 N 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;
}
0 Comentários