Pesquisar este blog

Livros Recomendados

quarta-feira, 24 de março de 2021

URI (BEECROWD) - 3065 - Calculando - Iniciante - C

Olá, pessoal! Posto aqui a solução para o desafio Calculando, da plataforma BEECROWD (antiga URI).

Plataforma: URI (BEECROWD)

Problema3065


Linguagem: C


Solução:

Note no código que a parte mais importante está no while interno. A comparação op == 43 é feita porque 43 é o código ASCII do operador de soma (caractere "+"). Assim, se o operador for de soma, faz a conta r + v; caso contrário faz r - v. Creio que essa seja a parte mais importante do código. Claro, quem quiser pode fazer um if direto, aqui eu quis fazer com o operador ternário por achar que fica simples de resolver em uma linha só.

#include <stdio.h>
int main() {
    int n, v, r, c = 1;
    char op;
    while (scanf("%d", &n)) {
        if (n == 0)
            return 0;

        scanf("%d", &r);
        while (n-- > 1) {
            scanf("%c%d", &op, &v);
            r += op == 43? v : -v;
        }
        printf("Teste %d\n%d\n\n", c++, r);
    }
    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas