You are on page 1of 12

Linguagem C

C é uma linguagem de programação compilada de propósito geral,


estruturada, imperativa, procedural, padronizada pela ISO, criada em
1972, por Dennis Ritchie, no AT&T Bell Labs, para desenvolver o
sistema operacional Unix (que foi originalmente escrito em Assembly).

Fonte: Wikipedia

Exercício 1
Faça um algorítimo que receba valores inteiros de uma matriz 5×2 e
preencha um vetor inteiro de
tamanho 10. Imprima o vetor preenchido.

1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 19/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(){
11
12 int vetor[9], i;
13
14 for (i = 0; i < 10; i++){
15
16 scanf("%d",&vetor[i]);
17 printf("%d\n",vetor[i]);
18 }
19 return 0;
20 }

Exercício 2
Fazer um algoritmo que:
Leia números de matrículas de alunos e armazene-os em um vetor até
o vetor ser preenchido por 10 matrículas. Esses números são
distintos, ou seja, o vetor não armazenará valores repetidos.
1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 23/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(){
11
12 int vetor[10], numero, cont, posicao = 0 ;
13
14 while (posicao < 10){
15
16 scanf("%d",&numero);
17
18 if (posicao == 0){
19 vetor[posicao] = numero;
20 printf("%d\n",vetor[posicao]);
21 posicao++;
22 }
23
24 else{
25
26 for(cont = 0; (cont < posicao)&&(vetor[cont]!= numero); cont++);
27
28 if (cont >= posicao){
29 vetor[posicao] = numero;
30 printf("%d\n",vetor[posicao]);
31 posicao++;
32 }
33 }
34 }
35 return 0;
36 }

Exercício 3
Fazer um algoritmo que:
Preencha um vetor com X números inteiros, em que o último número
lido seja 999 (o último número não fará parte do vetor). E imprima o
vetor na ordem inversa.

1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 23/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(void){
11
12 int contador = 0, numero, vetor[contador];
13
14 scanf("%d",&numero);
15
16 while (numero != 999){
17
18 if (contador == 0){
19 vetor[contador] = numero;
20 contador++;
21 }
22
23 else{
24 vetor[contador] = numero;
25 contador++;
26 }
27
28 scanf("%d",&numero);
29 }
30
31 if (numero == 999){
32 contador--;
33 }
34
35 while ( contador >= 0 ){
36
37 printf("%d\n",vetor[contador]);
38 contador--;
39 }
40 return 0;
41 }

Exercício 4
Faça um programa que receba os valores de uma matriz de ordem 3 e
imprimia sua diagonal principal de trás para frente.

1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 23/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(void){
11
12 int matriz[3][3], linha = 0, coluna = 0;
13
14 for(linha = 0; linha < 3; linha++){
15
16 for (coluna = 0; coluna < 3; coluna++){
17
18 scanf("%d",&matriz[linha][coluna]);
19 }
20
21 }
22
23 for (linha = 2; linha >= 0; linha--){
24
25 for(coluna = 2; coluna >=0; coluna--){
26 if ( linha == coluna){
27 printf("%d\n",matriz[linha][coluna]);
28 }
29 }
30 }
31
32 return 0;
33 }

Exercício 5
Fazer um algoritmo que:
Leia um vetor contendo 10 números, que correspondem a matrículas
de alunos. Ler 3 matrículas e imprima uma mensagem informando se
eles estão ou não presentes no vetor.

1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 23/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(void){
11
12 int vetor[10],contagem, verificanumero, contagemverifica = 0, contemcerto = 0;
13
14 for(contagem = 0; contagem < 10; contagem++){
15
16 scanf("%d",&vetor[contagem]);
17
18 }
19
20 while (contagemverifica < 3){
21
22 scanf("%d",&verificanumero);
23
24 for(contagem = 0; contagem < 10; contagem++){
25
26 if (verificanumero == vetor[contagem]){
27 printf("A matricula %d esta presente no sistema\n",verificanumero);
28 contemcerto++;
29 }
30
31 }
32 if(contemcerto == 0){
33 printf("A matricula %d nao esta presente no sistema\n",verificanumero);
34 }
35
36 contagemverifica++;
37 contemcerto = 0;
38 }
39
40 return 0;
41 }

Exercício 6
Fazer um algoritmo que:
Preencha 3 vetores, o primeiro com a nota da primeira prova, o
segundo com a nota da segunda prova e o terceiro com a média das 2
primeiras notas, e imprima o resultado “APROVADO” para aqueles
que obtiverem uma média igual ou acima de 6, e “REPROVADO” para
quem obtiverem uma média abaixo de 6.
OBS.: Saia do laço quando a primeira nota for igual a -1.

1 /*
2 * Autor: Kelvin Santiago
3 * Criado: 23/07/2013
4 */
5
6 #include<math.h>
7 #include<stdio.h>
8 #include<string.h>
9
10 int main(void){
11
12 int contador = 0;
13 float vetor[3],nota = 0 ;
14
15 scanf("%f",&nota);
16
17 while ( nota != -1){
18
19 vetor[contador] = nota;
20 contador++;
21
22 if (contador == 2){
23
24 vetor[contador] = (vetor[0] + vetor[1]) / 2;
25 printf("%.2f\n",vetor[contador]);
26
27 if(vetor[contador] >= 6){
28 printf("APROVADO\n");
29 }
30 else{
31 printf("REPROVADO\n");
32 }
33 contador = 0;
34 }
35 scanf("%f",&nota);
36
37 }
38 return 0;
39 }

Exercício 7
Preencha e imprima um vetor dos 20 primeiros números primos
começando com o número 5000.

1 * Autor: Kelvin Santiago


2 * Criado: 24 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12
13 int contador_vetor = 0, vetor[20], numeroprimo = 0, calculo = 0,numero, contador_verificar;
14
15 for (numero = 5000; contador_vetor < 20 ; numero++){
16
17 for (contador_verificar = 1; contador_verificar <= numero; contador_verificar++ ){
18
19 calculo = (numero % contador_verificar);
20
21 if (calculo == 0){
22 numeroprimo++;
23 }
24 }
25 if (numeroprimo == 2){
26 vetor[contador_vetor] = numero;
27 printf("%d\n",vetor[contador_vetor]);
28 contador_vetor++;
29
30 }
31 numeroprimo = 0;
32 }
33
34 return 0;
35 }

Exercício 8
Fazer um algorítimo que leia os valores de um vetor inteiro de
tamanho 10, e imprima o valor da soma dos números ímpares
presentes neste vetor.

1 * Autor: Kelvin Santiago


2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int vetor[10], somaimpares = 0, contador;
13
14 for(contador = 0; contador < 10; contador++){
15
16 scanf("%d",&vetor[contador]);
17
18 if (vetor[contador] % 2 != 0){
19 somaimpares += vetor[contador];
20 }
21 }
22
23 printf("%d\n",somaimpares);
24 return 0;
25 }
103. Fazer um algoritmo que leia os valores de duas matrizes 3×3 e
imprima a mutiplicação das duas matrizes.

1 * Autor: Kelvin Santiago


2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int matriz1[3][3], matriz2[3][3], matrizmult[3][3], linha, coluna, i, j, k;
13
14 // Fazendo Scan da PRIMEIRA matriz :DD
15 for(linha = 0; linha < 3; linha++){
16 for( coluna = 0; coluna < 3; coluna++){
17 scanf("%d",&matriz1[linha][coluna]);
18 }
19 }
20
21 // Fazendo Scan da SEGUNDA matriz :DD
22 for(linha = 0; linha < 3; linha++){
23 for( coluna = 0; coluna < 3; coluna++){
24 scanf("%d",&matriz2[linha][coluna]);
25 }
26 }
27
28 // Zerando matriz da multiplicacao
29
30 for(i = 0; i < 3; i++){
31 for(j = 0; j < 3; j++){
32 matrizmult[i][j]= 0;
33 }
34 }
35
36 // Fazendo Multiplicacao de matrizes :/
37 for( i = 0; i < 3; i++){
38 for( j = 0; j < 3; j++){
39 for( k = 0; k < 3; k++) {
40 matrizmult[i][j] += matriz1[i][k] * matriz2[k][j];
41 }
42 }
43 }
44
45 // Imprimindo matriz mult
46 for(linha = 0; linha < 3; linha++){
47 for( coluna = 0; coluna < 3; coluna++){
48 if( coluna == 2){
49 printf("%d\n",matrizmult[linha][coluna]);
50 }
51 else{
52 printf("%d ",matrizmult[linha][coluna]);
53 }
54 }
55 }
56 return 0;
57 }

Exercício 9
Faça um algorítimo que leia um vetor de 5 posições, e preencha um
segundo vetor, sendo que cada posição do segundo vetor receberá o
valor do primeiro vetor na mesma posição multiplicado pelo maior
valor dentro do primeiro vetor.

1 * Autor: Kelvin Santiago


2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int vetor1[5], vetor2[5], contador, maiornumero = 0;
13
14 // Lendo valores do primeiro vetor e verificando maior numero :DD
15 for(contador = 0; contador < 5; contador++){
16 scanf("%d",&vetor1[contador]);
17
18 if (maiornumero == 0){
19 maiornumero = vetor1[contador];
20 }
21 else if( vetor1[contador] > maiornumero){
22 maiornumero = vetor1[contador];
23 }
24 }
25
26 // Preenchendo vetor 2 multiplicando vetor 1 pelo maior numero.
27 for( contador = 0; contador < 5; contador++){
28 vetor2[contador] = vetor1[contador] * maiornumero;
29 printf("%d\n",vetor2[contador]);
30 }
31
32 return 0;
33 }

Exercício 10
Dado dois números inteiros X e Y, preencha um vetor em que é
armazenado os primeiro X números múltiplos de Y.

1 * Autor: Kelvin Santiago


2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int vetorA[5] = {0}, vetorB[8] = {0}, contador, contadorb, igualdades = 0;
13
14 for(contador = 0; contador < 5; contador++){
15
16 scanf("%d",&vetorA[contador]);
17 }
18
19 for(contador = 0; contador < 8; contador++){
20
21 scanf("%d",&vetorB[contador]);
22 }
23
24 for(contador = 0; contador < 5; contador++){
25 for(contadorb = 0; contadorb < 8; contadorb++){
26
27 if (vetorA[contador] == vetorB[contadorb]){
28
29 if (igualdades == vetorA[contador]){
30
31 }
32
33 else{
34 igualdades = vetorA[contador];
35 printf("%d\n",vetorA[contador]);
36 }
37 }
38 }
39 }
40
41 return 0;
42 }

Exercício 11
Dados dois vetores, A (5 elementos) e B (8 elementos), faça um
programa que imprima todos os elementos comuns aos dois vetores.

1 * Autor: Kelvin Santiago


2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int vetorA[5] = {0}, vetorB[8] = {0}, contador, contadorb, igualdades = 0;
13
14 for(contador = 0; contador < 5; contador++){
15
16 scanf("%d",&vetorA[contador]);
17 }
18
19 for(contador = 0; contador < 8; contador++){
20
21 scanf("%d",&vetorB[contador]);
22 }
23
24 for(contador = 0; contador < 5; contador++){
25 for(contadorb = 0; contadorb < 8; contadorb++){
26
27 if (vetorA[contador] == vetorB[contadorb]){
28
29 if (igualdades == vetorA[contador]){
30
31 }
32
33 else{
34 igualdades = vetorA[contador];
35 printf("%d\n",vetorA[contador]);
36 }
37 }
38 }
39 }
40
41 return 0;
42 }

Exercício 12
Fazer um algorítimo que seja lido um número inteiro X e preencha um
vetor com os divisores de X, começando do X até o número 1.
Imprimir o vetor em ordem inversa (de trás para frente).
1 * Autor: Kelvin Santiago
2 * Criado: 25 / 07 / 2013
3 *
4 */
5
6 #include <stdio.h>
7 #include <math.h>
8 #include <string.h>
9
10 int main(void)
11 {
12 int numero, divisores, numerodivisores = 0, vetor[numerodivisores], contador = 0;
13
14 scanf("%d",&numero);
15 for (divisores = 1; divisores <= numero; divisores++){
16
17 if (numero % divisores == 0){
18 vetor[contador] = divisores;
19 contador++;
20 numerodivisores++;
21 }
22 }
23
24 for(contador =0; contador < numerodivisores; contador++){
25 printf("%d\n",vetor[contador]);
26 }
27
28 return 0;
29 }

Exercício 13
Fazer um algoritmo que seja lido uma palavra e imprima a quantidade
de letras que compões a palavra.

1 #include<stdio.h>
2 #include<string.h>
3
4 int main()
5 {
6 char palavra[50];
7 int i;
8
9 scanf("%s",palavra);
10
11 for(i = 0; i <= palavra[i]; i++){}
12
13 printf("%d\n",i);
14 return 0;
15 }
Exercício 14
Fazer um algorítimo que seja lido uma palavra e imprima a quantidade
de vogais que compõe a palavra.

* Autor: Kelvin Santiago


1
* Criado: 25 / 07 / 2013
2
*
3
*/
4
5
#include <stdio.h>
6
#include <math.h>
7
#include <string.h>
8
9
int main(void)
10
{
11
char palavra[20];
12
int contador, numVogais = 0;
13
14
scanf("%s",palavra);
15
16
for(contador=0; contador < palavra[contador]; contador++){
17
18
if (palavra[contador]== 'A' || palavra[contador]== 'E' || palavra[contador]== 'I' || palavra[contador]== 'O' ||
19
palavra[contador]== 'U'){
20
numVogais++;
21
}
22
}
23
24
printf("%d\n",numVogais);
25
26
return 0;
27
}
Caso tenha alguma dúvida sobre a linguagem C ou queira deixar
algum feedback deixe nos comentários abaixo.

You might also like