Vous êtes sur la page 1sur 13

Exemplos em Linguagem C

Exemplo 1 Calcular a mdia 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 mdia de aprovao igual a 7.0.

/* Primeiro exemplo Calcula mdia de duas notas e verifica aprovao */ #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 mdia menor ou igual a 7.0 printf(" - Prova final");

printf("\n\n"); // salta 2 linhas em branco system("pause"); // no permite que a janela do prompt feche return 0; }

Exemplo 2 A partir da idade informada de um cidado, diga se ele no 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 obrigatrio 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 aniversrio (solicite apenas o nmero do dia e do ms). 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 nmeros fornecidos pelo usurio

#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 trs tipos de estruturas de repetio 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 nmero fornecido pelo usurio. Por exemplo se ele digitar o nmero 5, ento ser mostrado:

5x1=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 nmeros para MEGASENA (no verifica repetio) #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i, numeroSorteado;

// coloca a hora atual como semente para gerao de randmicos srand(time(NULL));

for(i=1; i<=6; i++) { // a funo rand gera nmeros aleatrios de 0 a 32767 (padro) numeroSorteado = rand() % 60; printf("Numero %d: %d\n", i, numeroSorteado); }

printf("\n\n\n");

system("pause"); return 0; } Exemplo 8 Diversas aes com vetores.

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

// a diretiva define serve para aumentar o nvel de alterabilidade do programa #define MAX_NOME 30

int main() { // Declarao do vetor x com capacidade para 10 inteiros e a sua inicializao com 10 valores int x[10] = { 20, 30, 45, 67, 5, 49, 34, 21, 99, 89 };

// Declarao e inicializao do vetor y com 3 inteiros int y[] = { 34, 7, 44 };

// Declarao do vetor z para 3 inteiros int z[3];

// Inicalizao dos trs elementos do vetor z z[0] = 200; z[1] = 400; z[2] = 500;

// Declarao e inicializao do vetor de caracteres s // Vetor de caracteres com terminao de nulo chamado de STRING char s[] = {'b','i','a','\0'};

// Declarao do vetor de caracteres t com incializao 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 exibio 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 espaos em branco // Observe que a funo 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 espaos em branco // Neste caso usamos a funo fflush(stdin) para esvaziar o buffer // de entrada (aps uma scanf, o buffer fica sujo com um salto de linha) // A funo 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 mdia #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 nmeros aleatrios 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"); }