quinta-feira, 26 de setembro de 2013

Exemplos de programas em C Parte_2

Programa que recebe 5 números inteiros e imprime a soma e dos números pares e ímpares


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * Neste exemplo o programa recebe 5 números inteiros e
     * imprime a soma dos numeros pares e a soma dos numeros
     * ímpares
     */

    int numeros[5]; // vetor
    int restoDivisao, i, somaPares = 0, somaImpares = 0;

    for(i = 0; i < 5; i++) {

    printf("\n Digite o %dº número: ", i+1);
    fflush(stdout);
    scanf("%d",&numeros[i]);

    restoDivisao = numeros[i] % 2; // calcula o resto da divisão

    if (restoDivisao == 0) { // verifica se existe algum numero par
        somaPares += numeros[i]; // soma os numeros pares
    } else {
        somaImpares += numeros[i]; // soma os numeros impares
    }
}
    printf("\nA soma dos numeros pares é: %d \n", somaPares);
    printf("\nA soma dos numeros impares é: %d ", somaImpares);

    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------

Faça um programa que leia os três coeficientes de uma equação e imprima as soluções, quando existirem. Lembrando que a existência das soluções depende de delta:

a) Se delta for menor que zero não há soluções reais (imprima a mensagem “NÃO HÁ SOLUÇÕES REAIS”);

b) Se delta for igual a zero existe apenas uma solução real (imprima a mensagem “EXISTE UMA SOLUÇÃO REAL, x = valor);

c) Se delta for maior do que zero, temos duas soluções reais (imprima a mensagem “EXISTEM DUAS SOLUÇÕES REAIS, x1 = valor_1 e x2 = valor_2”).


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void){

    /*
     * Faça um programa que leia os três coeficientes de uma equação e imprima as soluções,
     * quando existirem. Lembrando que a existência das soluções depende de delta:
     * a) Se delta for menor que zero não há soluções reais (imprima a mensagem “NÃO HÁ SOLUÇÕES REAIS”);
     * b) Se delta for igual a zero existe apenas uma solução real (imprima a mensagem “EXISTE UMA
     * SOLUÇÃO REAL, x = valor);
     * c) Se delta for maior do que zero, temos duas soluções reais (imprima a mensagem “EXISTEM DUAS
     *  SOLUÇÕES REAIS, x1 = valor_1 e x2 = valor_2”).
     */

    float a, b, c, Delta, x1, x2;

    printf("\nInforme o valor de (a): ");
    fflush(stdout);
    scanf("%f",&a);
    printf("\nInforme o valor de (b): ");
    fflush(stdout);
    scanf("%f",&b);
    printf("\nInforme o valor de (c): ");
    fflush(stdout);
    scanf("%f",&c);

    Delta = ((b * b) - (4 * a * c));

    if (Delta < 0) {
        printf("\nNÃO HÁ SOLUÇÕES REIAS.");
    }
    if(Delta == 0) {
        x1 = (((-(b)) + sqrt(Delta)) / (2 * a)); // calcula x1
        printf("\nExiste uma solução real, x1 = %.2f ", x1);
    }
    else if (Delta > 0) {
        x1 = (((-(b)) + sqrt(Delta)) / (2 * a)); // calcula x1
        x2 = (((-(b)) - sqrt(Delta)) / (2 * a)); // calcula x2
        printf("\nExiste duas raízes reais, x1 = %.2f e x2 = %.2f", x1, x2);
    }

    system("pause");
    return 0;
}
 

---------------------------------------------------------------------------------------------------

Programa que ler uma letra do alfabeto e imprime a mensagem correspondente em cada caso: “Vogal maiúscula”, “Vogal minúscula”, “Consoante”. 

 

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void){

    /*
     * Programa que ler uma letra do alfabeto e imprime as mensagens a seguir a
     * correspondente para cada caso: “Vogal maiúscula”, “Vogal minúscula”, “Consoante”.
     */

    char letra;
    char vogais[] = {'a', 'e', 'i', 'o', 'u'}; // vetor que armazena as vogais
    char consoantes[] = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
            'n', 'p', 'q', 'r', 's', 't', 'v', 'x', 'y', 'z'}; // vetor que armazena as consoantes
    int i;

    printf("\nEntre com uma letra do alfabeto: ");
    fflush(stdout);
    scanf("%c",&letra);

    for(i = 0; i < vogais[i]; i++) {
        if (letra == vogais[i]) {
            printf("\nA letra ( %c ) é uma vogal minúscula.", letra);
        }

        if (letra == toupper(vogais[i])) { // função 'toupper' -> converte as vogais minusculas em maiúsculas
            printf("\nA letra ( %c ) é uma vogal maiúscula.", letra);
        }

        if(letra == consoantes[i] || letra == toupper(consoantes[i])){
            printf("\nA letra ( %c ) é uma consoante.", letra);
        }
    }

    system("pause");
    return 0;
}

---------------------------------------------------------------------------------------------------


Programa que exibe os divisores de um número qualquer, informado pelo usuário.


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * programa que exibe os divisores de um número qualquer, informado pelo usuário.
     */

    int num, i;

    printf("\nEntre com um número para ver seus divisores: ");
    fflush(stdout);
    scanf("%d",&num);

    printf("\nOs divisores de ( %d ) são: ", num);
    for (i = 1; i < num; i++) {
        if ((num % i) == 0) {
            printf("%d ", i);
        }
    }

    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------  

Programa que calcula o fatorial de um número qualquer


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * programa que calcula o fatorial de um numero qualquer
     */

    int num, fatorial = 1, i;

    printf("\nEntre com um numero inteiro para calcular seu fatorial: ");
    fflush(stdout);
    scanf("%d",&num);

    for (i = 1; i <= num; i++) {
        fatorial *= i;
    }

    printf("\nO fatorial de %d é: %d", num, fatorial);

    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------  

Programa que ler um numero e exibe sua tabuada com as 4 operações


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * programa que ler um numero e exibe sua tabuada com
     * as 4 operações
     */

    int num, soma = 0, mult = 0, divisao = 0, subtracao = 0;
    int i, j, l;

    printf("\nEntre com um numero inteiro para ver sua tabuada: ");
    fflush(stdout);
    scanf("%d",&num);

    //exibe a tabuada da adição e da multiplicação
    for (i = 0; i < 11; ++i) {
        soma = num + i; // gurda a soma os numeros
        mult = num * i; // guarda a multiplicção dos numeros

        printf("\n\t%d + %d = %d", i, num, soma);
        printf("\t%d X %d = %d", i, num, mult);
    }

    //exibe a tabuada da subtração
    printf("\n");
    for (j = num; j < (num + 11); j++) {
        subtracao = j - num;

        printf("\n\t%d - %d = %d", j, num, subtracao);
    }

    //exibe a tabuada da divisão
    printf("\n");
    for (l = 0; l <= (num*10); l += num) {
        divisao =  l / num;
        printf("\n\t%d / %d = %d",l, num, divisao);
    }
   
    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------  


Desafio - Um marciano chegou a uma floresta e se escondeu atrás de uma das 100 árvores quando viu um caçador. O caçador só tinha cinco balas em sua espingarda. Cada vez que ele atirava, e não acertava, é claro, o marciano dizia: “estou mais à direita ou mais à esquerda”. Se o caçador não conseguir acertar o marciano, ele será levado para marte. Implementar este jogo para dois jogadores, em que um escolhe a árvore onde o marciano irá se esconder e o outro tenta acertar.


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * Desafio - Um marciano chegou a uma floresta e se escondeu atrás de uma das 100
     * árvores quando viu um caçador. O caçador só tinha cinco balas em sua espingarda.
     * Cada vez que ele atirava, e não acertava, é claro, o marciano dizia: “estou mais à direita
     * ou mais à esquerda”. Se o caçador não conseguir acertar o marciano, ele será levado
     * para marte. Implementar este jogo para dois jogadores, em que um escolhe a árvore
     * onde o marciano irá se esconder e o outro tenta acertar.
     *
     */

    int arvore, balas = 5, cont = 0, busca;

    printf("Jogador 1. \nEscolha uma arvore onde o marciano deverá se esconder de (1 a 100): ");
    fflush(stdout);
    scanf("%d",&arvore);

    do {

        printf("Jogador 2. \nEm que árvore você deseja atirar ?\n");
        fflush(stdout);
        scanf("%d",&busca);

        if (busca == arvore) {
            printf("\nParabéns, você consegui acertar o marciano!");
            break;
        }

        if (busca > arvore) {
            printf("\nVocê errou!! Eu estou mais a esquerda.\n");
            balas--;
            printf("\nVocê só tem %d balas agora!\n\n", balas);
        }

        else if (busca < arvore) {
            printf("\nVocê errou!! Eu estou mais a direita.\n");
            balas--;
            printf("\nVocê só tem %d balas agora!\n\n", balas);
        }

        if(balas == 0){
            printf("\n\nOps!! Você será levado para marte!!");
        }
        cont++;
    }while(cont < 5);
    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------    

Programa que ler um vetor de 10 valores e imprime o menor deles


#include <stdio.h>
#include <stdlib.h>

int main(void){

    /*
     * Programa que ler um vetor de 10 valores e imprime o menor deles
     *
     */

    int vetor[10], menor, i;

    for (i = 0; i < 10; ++i) {
        printf("\nDigite o %dº elemento do vetor: ",i+1);
        fflush(stdout);
        scanf("%d",&vetor[i]);

        if (i == 0) {
            menor = vetor[i];
        }

        if (vetor[i] < menor) {
            menor = vetor[i];
        }
    }

    printf("\nO menor numero do vetor é: %d", menor);

    system("pause");
    return 0;
}



# Compartilhar :