Exemplos em Linguagem C

Exemplo 1
Calcular a média das duas notas de um aluno. A primeira nota é igual a 5.5 e a segunda nota é igual a 8.5. Informe ainda se ele está aprovado ou de prova final, baseado na média de aprovação igual a 7.0.

/* Primeiro exemplo
   Calcula média de duas notas e verifica aprovação
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
   float nota1, nota2, media;
   nota1 = 5.5;
   nota2 = 8.5;
   media = (nota1 + nota2)/2;
   printf("Media = %f", media);
   if(media >= 7.0)
       printf(" - Aprovado");
   else // se a média é menor ou igual a 7.0
       printf(" - Prova final");
 
   printf("\n\n"); // salta 2 linhas em branco
   system("pause"); // não permite que a janela do prompt feche
   return 0;
}

Exemplo 2
A partir da idade informada de um cidadão, diga se ele não pode votar (idade inferior a 16), ou se o voto é facultativo (idade igual a 16 ou 17 ou ainda maior do que 70), ou ainda se o voto é obrigatório para idades entre 18 e 70 (incluindo estes valores)

#include <stdio.h>
#include <stdlib.h>
int main() {
      int idade; printf("Qual a sua idade? ");
      scanf("%d", &idade);
      if(idade >= 18 && idade <=70)
            printf("Voce deve votar!");
      else if(idade <= 15)
            printf("Nao pode votar");
      else
            printf("Voto facultativo");
 
      printf("\n\n");
      system("pause");
      return 0;
}

Exemplo 3
Verifique a validade de uma data de aniversário (solicite apenas o número do dia e do mês).
Dica: meses com 30 dias: abril, junho, setembro e novembro.

#include <stdio.h>
#include <stdlib.h>
int main() {
      int dia, mes;
      printf("Entre com o dia: ");
      scanf("%d", &dia);
      printf("Entre com o mes: ");
      scanf("%d", &mes);
 
      if(mes<1 || mes>12 || dia<1 || dia>31)
            printf("data invalida!");
      else if(mes==2 && dia>28) 
            printf("data invalida!");
      else if((mes==4 || mes==6 || mes==9 || mes==11) && dia>30)
            printf("data invalida!");
      else
            printf("data valida");   
 
      printf("\n\n\n"); system("pause"); return 0;
}

Exemplo 4
Descubra o maior entre 3 números fornecidos pelo usuário

#include <stdio.h>
#include <stdlib.h>
int main() {
      float n1, n2, n3;
      printf("Entre com tres numeros: ");
      scanf("%f", &n1);
      scanf("%f", &n2);
      scanf("%f", &n3);
 
      if(n1 > n2 && n1 > n3)
            printf("\nMaior numero: %f", n1);
      else if(n2 > n3 && n2 > n1)
            printf("\nMaior numero: %f", n2);
      else if(n3 > n1 && n3 > n2)
            printf("\nMaior numero: %f", n3);
      else
            printf("\nExiste mais de um numero maior!");
 
      printf("\n\n\n"); system("pause"); return 0;
}

Exemplo 5
Exibe 10 vezes o termo “Linguagem C” usando os três tipos de estruturas de repetição existentes em C.

#include <stdio.h> 
#include <stdlib.h> 
int main() { 
   int i; 
   printf("Exibe 'linguagem C' 10 vezes"); 
 
   printf("\n\nPrimeira forma, com while:"); 
   i = 0; 
   while(i < 10) { 
      printf("\nLinguagem C"); 
      i = i + 1; 
   } 
 
   printf("\n\nSegunda forma, com for:"); 
   for(i=0; i < 10; i = i + 1) { 
      printf("\nLinguagem C"); 
   }              
 
   printf("\n\nTerceira forma, com do-while:"); 
   i = 0; 
   do { 
      i = i + 1; 
      printf("\nLinguagem C"); 
   }while(i < 10); 
 
   printf("\n\n\n"); 
   system("pause"); 
   return 0;
}

Exemplo 6

Exiba a tabuada de um número fornecido pelo usuário. Por exemplo se ele digitar o número 5, então será mostrado:

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

#include <stdio.h> 
#include <stdlib.h> 
int main() { 
    int i, numero; 
 
   printf("Entre com o numero para a tabuada: "); 
    scanf("%d", &numero); 
 
    printf("\n\nVersao com while: ");   
    i = 1; 
    while(i <= 10) { 
         printf("\n%d x %d = %d", numero, i, i*numero);        
         i = i + 1;    //  pode ser escrito como i++ 
    } 
 
    printf("\n\nVersao com for: ");   
    for(i = 1; i <= 10; i++) 
         printf("\n%d x %d = %d", numero, i, i*numero);        
 
    printf("\n\n\n"); system("pause"); 
    return 0; 
}

Exemplo 7

// Sorteia 6 números para MEGASENA (não verifica repetição)
#include <stdio.h> 
#include <stdlib.h>
#include <time.h> 
int main() { 
   int i, numeroSorteado;
 
   // coloca a hora atual como semente para geração de randômicos
   srand(time(NULL));
 
   for(i=1; i<=6; i++) {
      // a função rand gera números aleatórios de 0 a 32767 (padrão)
      numeroSorteado = rand() % 60;
      printf("Numero %d: %d\n", i, numeroSorteado);
   }
 
   printf("\n\n\n"); 
   system("pause"); 
   return 0;
}

Exemplo 8
Diversas ações com vetores.

#include <stdio.h> 
#include <stdlib.h> 
 
// a diretiva define serve para aumentar o nível de alterabilidade do programa 
#define MAX_NOME 30 
 
int main() { 
      // Declaração do vetor x com capacidade para 10 inteiros e a sua inicialização com 10 valores 
      int x[10] = { 20, 30, 45, 67, 5, 49, 34, 21, 99, 89 }; 
 
      // Declaração e inicialização do vetor y com 3 inteiros 
      int y[] = { 34, 7, 44 }; 
 
      // Declaração do vetor z para 3 inteiros 
      int z[3]; 
 
      // Inicalização dos três elementos do vetor z 
       z[0] = 200; 
       z[1] = 400; 
       z[2] = 500; 
 
      // Declaração e inicialização do vetor de caracteres s 
      // Vetor de caracteres com terminação de nulo é chamado de STRING 
      char s[] = {'b','i','a','\0'}; 
 
      // Declaração do vetor de caracteres t com incialização de uma constante 
      // string (caracteres entre aspas duplas) Neste caso o nulo é 
      // colocado automaticamente no final, como 4º caractere
      char t[] = "bia"; 
 
      printf("Primeiro elemento do vetor x: %d \n", x[0]); 
      printf("Segundo elemento do vetor y: %d \n", y[1]); 
      printf("Terceiro elemento do vetor s: %c \n", s[2]); 
 
      printf("Todos os 10 elementos do vetor x: \n"); 
      int i; 
      for(i=0; i < 10; i++) 
            printf("%d ", x[i]); 
 
      // A exibição de uma string pode ser feita com o formatador %s       
      printf("\nTodos os elementos do vetor s: %s \n", s); 
      printf("Todos os elementos do vetor t: %s \n", t); 
 
      // Entrada via teclado para uma string sem espaços em branco
      // Observe que a função scanf fica sem o operador &
      char apelido[MAX_NOME]; 
      printf("Digite um nome (sem espacos): "); 
      scanf("%s", apelido); 
      printf("Nome digitado: %s \n", apelido); 
 
      // Entrada via teclado para uma string com espaços em branco  
      // Neste caso usamos a função fflush(stdin) para esvaziar o buffer
      // de entrada (após uma scanf, o buffer fica sujo com um salto de linha)
      // A função gets lê todos caracteres até encontrar um salto de linha.
      char nomeCompleto[MAX_NOME]; 
      printf("Digite um nome (pode conter espacos): "); 
      fflush(stdin); gets(nomeCompleto); 
      printf("Nome digitado: %s", nomeCompleto); 
 
      printf("\n\n\n"); system("pause"); return 0;
}

Exemplo 9

// recebe 10 notas e exibe aquelas maiores que a média 
#include <stdio.h> 
#include <stdlib.h> 
#define MAX_NOTAS 10 
int main() { 
   int i; 
   float notas[MAX_NOTAS], soma, media; 
   soma = 0; 
   printf("Digite as notas:\n"); 
   for(int i=0; i<MAX_NOTAS; i++) { 
      scanf("%f", &notas[i]); 
      soma = soma + notas[i]; 
   } 
   media = soma/MAX_NOTAS; 
   printf("\nMedia: %.1f", media); 
   printf("\nNotas maiores do que a media: "); 
   for(int i=0; i<MAX_NOTAS; i++) 
      if(notas[i] > media) 
         printf("%.1f  ", notas[i]);  
 
   printf("\n\n\n"); system("pause"); 
}

Exemplo 10
Matriz com 10 linhas e 10 colunas preenchida com números aleatórios de 0 a 50.

#include <stdio.h> 
#include <stdlib.h> 
int main() { 
    // declara uma matriz com 10 linhas e 10 colunas, capaz 
    // de armazenar 100 valores 
    int m[10][10]; 
 
    int linha, coluna, i; 
    srand(time(NULL)); 
 
    // preenche a matriz com 100 valores sorteados (de 0 a 50) 
    for(linha = 0; linha < 10; linha++) 
         for(coluna = 0; coluna < 10; coluna++) 
             m[linha][coluna] = rand() % 51; 
 
    // exibe toda a matriz 
    for(linha = 0; linha < 10; linha++) { 
         for(coluna = 0; coluna < 10; coluna++) 
             printf("%2d ", m[linha][coluna]); 
         printf("\n"); 
    } 
 
    // exibe os valores da linha 5 
    printf("\n\nValores da linha 5 \n"); 
    for(coluna = 0; coluna < 10; coluna++) 
         printf("%2d ", m[5][coluna]); 
 
    // exibe os valores da coluna 5 
    printf("\n\nValores da coluna 5 \n"); 
    for(linha = 0; linha < 10; linha++) 
         printf("%2d ", m[linha][5]); 
 
    // exibe os valores da diagonal principal 
    printf("\n\nValores da coluna 5 \n"); 
    for(i = 0; i < 10; i++) 
         printf("%2d ", m[i][i]);  
 
    printf("\n\n"); system("pause"); 
}