Exercícios de Programação em C

Tarefa 1: Impressão de Figuras com Caracteres

1. Tarefa 1.1

  • Código-fonte do programa em C para imprimir duas figuras de personagens verticalmente (task1_1.c) e o resultado da execução.
#include <stdio.h>

int main() {
    printf(" o \n<H>\nI I\n");
    printf(" o \n<H>\nI I\n");
    return 0;
}

  • Código-fonte do programa em C para imprimir duas figuras de personagens horizontalmente (task1_2.c) e o resultado da execução.
#include <stdio.h>

int main() {
    printf(" o     o \n<H>   <H>\nI I   I I\n");
    return 0;
}

2. Tarefa 2

  • Código-fonte do programa em C para verificar se três lados formam um triângulo (task2.c) e o resultado da execução.
// Insira três valores como lados de um triângulo e verifique se eles podem formar um triângulo.
// Condição para formar um triângulo: a soma de quaisquer dois lados deve ser maior que o terceiro lado.
#include <stdio.h>

int main() {
    double a, b, c;
    scanf("%lf %lf %lf", &a, &b, &c);

    if ((a + b > c) && (b + c > a) && (c + a > b))
        printf("Pode formar um triângulo.\n");
    else
        printf("Não pode formar um triângulo.\n");

    return 0;
}

3. Tarefa 3

  • Código-fonte do programa em C para perguntar ao usuário sobre seus hábitos de estudo (task3.c) e o resultado da execução.
#include <stdio.h>

int main() {
    char resposta1, resposta2;

    printf("Você revisou antes das aulas e depois delas? (Digite y ou Y para sim, n ou N para não): ");
    resposta1 = getchar();
    getchar(); // Esta linha é necessária para consumir o caractere de nova linha.

    printf("\nVocê praticou codificação? (Digite y ou Y para sim, n ou N para não): ");
    resposta2 = getchar();

    if ((resposta1 == 'y' || resposta1 == 'Y') && (resposta2 == 'y' || resposta2 == 'Y'))
        printf("\nRoma não foi construída em um dia, continue assim :)\n");
    else
        printf("\nRoma não foi destruída em um dia, vamos construir!\n");

    return 0;
}

  • Pergunta:
  • O que acontece se a linha 9 for removida?
  • Resposta: A saída será "Roma não foi destruída em um dia, vamos construir!" porque o caractere de nova linha no buffer é lido como a resposta2, tornando a condição falsa.

4. Tarefa 4

  • Código-fonte corrigido do programa em C para ler e imprimir variáveis (task4.c).
#include <stdio.h>

int main() {
    double x, y;
    char c1, c2, c3;
    int a1, a2, a3;

    scanf("%d %d %d", &a1, &a2, &a3);
    printf("a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3);

    scanf(" %c %c %c", &c1, &c2, &c3);
    printf("c1 = %c, c2 = %c, c3 = %c\n", c1, c2, c3);

    scanf("%lf %lf", &x, &y);
    printf("x = %lf, y = %lf\n", x, y);

    return 0;
}

5. Tarefa 5

  • Código-fonte do programa em C para calcular quantos anos correspondem a 1 bilhão de segundos (task5.c) e o resultado da execução.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main() {
    system("chcp 65001");
    int anos;

    anos = round(1000000000 / 31536000.0);
    printf("1 bilhão de segundos equivale a %d anos\n", anos);

    return 0;
}

6. Tarefa 6

  • Código-fonte do programa em C para calcular a potência de 365 de um número (task6_2.c) e o resultado da execução.
#include <stdio.h>
#include <math.h>

int main() {
    double x, resultado;

    while (scanf("%lf", &x) != EOF) {
        resultado = pow(x, 365);
        printf("%.2f elevado a 365: %.2f\n", x, resultado);
        printf("\n");
    }

    return 0;
}

7. Tarefa 7

  • Código-fonte do programa em C para converter Celsius para Fahrenheit (task7.c) e o resultado da execução.
#include <stdio.h>

int main() {
    double celsius, fahrenheit;

    while (scanf("%lf", &celsius) != EOF) {
        fahrenheit = 9.0 * celsius / 5 + 32;
        printf("Celsius = %.2f, Fahrenheit = %.2f\n\n", celsius, fahrenheit);
    }

    return 0;
}

8. Tarefa 8

  • Código-fonte do programa em C para calcular a área de um triângulo usando a fórmula de Heron (task8.c) e o resultado da execução.
#include <stdio.h>
#include <math.h>

int main() {
    int a, b, c;
    double area;

    while (scanf("%d %d %d", &a, &b, &c) != EOF) {
        area = sqrt((a + b + c) * (b + c - a) * (c + a - b) * (a + b - c)) / 4;
        printf("a = %d, b = %d, c = %d, área = %.3f\n\n", a, b, c, area);
    }

    return 0;
}

Tags: C printf scanf Condicionais loops

Publicado em 9-11 01:10