Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCÍCIOS VETORES E STRINGS EM LINGUAGEM C Aluno Curso Marlon dos Santos Cunha Engenharia Civil – ECN01 EXERCÍCIOS SOBRE VETORES Proponha um programa que declare um vetor de 5 posições de valores inteiros. Defina cada posição (elemento) do vetor com o valor 0. #include <stdio.h> #include <conio.h> int main() { int i, k, x; int v[5]; printf (“digite quantidade de vetores: “); scanf (“%d”,&x); k=x; for (k=1; k<=x; k++) { v[k]=0; } getch(); } Proponha um programa que declare um vetor de 9 posições de valores inteiros. Associe 0 para a posição 0 do vetor, 1 para a posição 1 e assim por diante. Imprima o vetor na tela. #include <stdio.h> #include <conio.h> int main() { int i, k, x; int v[9]; printf (“digite quantidade de vetores: “); scanf (“%d”,&x); k=x; for (k=1; k<=x; k++) { v[k]=k; printf (“v[%d]=%d\n”,v[k,k); } getch(); } Explique o que faz o programa abaixo: int main() { int v[5]; int i; v[0] = 10; for (i = 1; i < 5; i++) { v[i] = v[i-1] * 2; } } O programa cria um vetor de 5 posições, e coloca o primeiro vetor com valor igual a 10. no for o vetor atual tem o valor do vetor anterior multiplicado por dois. Proponha um programa que declare um vetor de 26 posições do tipo char. Coloque a letra ‘A’ na posição 0, ‘B’ na posição 1, e assim por diante. Imprima o vetor na tela. #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> int main() { char s[26]=”ABCDEFGHIJKLMNOPQRSTUVXYW”; s[25]=’Z’; int i; for (i=0; i<26; i++) { printf (“v[%d]=%c\n”,I,s[i]); } getch(); } Proponha um programa que declare um vetor de 10 posições de valores inteiros. Leia o valor a ser colocado em cada posição, calcule a média dos valores digitados e imprima a média na tela. #include <stdio.h> #include <conio.h> int main() { int i, x; float media; int v[10]; for (i=1; i<=10; i++) { printf (“Digite o numero na posicao do vetor[%d]: ”,i) scanf (“%d”,&v[i]); media=media+v[i]; } media=media/10; printf (“A media dos valores digitados e: %.1f\n”,media); getch(); } Proponha um programa que declare um vetor de 10 posições de valores inteiros. Leia do teclado um valor para cada posição do vetor. Imprima o vetor de trás para a frente. #include <stdio.h> #include <conio.h> int main() { int i, x; float media; int v[10]; for (i=1; i<=10; i++) { printf (“Difgite o numero na posicao do vetor[%d]: ”,i) scanf (“%d”,&v[i]); } i=11; for(x=1; x<=10; x++) { i=i-1; printf(“v[%d]=%d\n”,i,v[i]); } getch(); } Declare um vetor de 10 valores inteiros chamado idade. Leia o valor de cada posição do vetor. Após isto, para cada posição, imprima “maior (>=18), menor(<18) ou idade inválida(<0)” conforme os valores presentes no vetor. #include <stdio.h> #include <conio.h> int main() { int i, x; int idade[10]; for (i=1; i<=10; i++) { printf(“Digite a idade do cidadão %d: ”,i); scanf (“%d”, &idade[i]); if(idade[i]>=18) { printf(“Cidadão %d e maior de idade\n”,i); } else if (idade[i]<=18) { printf(“Cidadão %d e menor de idade\n”,i); } else { printf(“Esse cidadao nao existe\n”,i); } } getch(); } Escrever um programa que simule a leitura de uma senha. Neste tipo de leitura, não desejamos apresentar os caracteres digitados na tela. Desta forma, devemos utilizar a função getch() para ler cada caractere individualmente. A cada caractere digitado, o programa deve imprimir um asterisco na tela. A leitura da senha termina quando o usuário digitar ENTER. Neste momento, o programa deve imprimir na tela a senha digitada. Atenção: A função getch() retorna o código do caractere digitado. Ex: char ch = getch(); ENTER possui código numérico 13. Não esqueça de colocar o zero no final do vetor de caracteres (string). #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> int main() { char senha[12]; char tecla; int cont=0, aster; printf (“Digite a senha: ”); do { tecla=getch(); switch(tecla); { case (char)13: if(cont>0); senha[cont]= ‘\0’; else tecla=0; break; case (char)8: if(cont>0) { senha[cont]=0; cont--; } break; default: senha[cont=tecla; cont++; break; } aster=cont; system(“cls”); printf(“Digite a senha: ”); while (aster>0) { printf(“*”); aster--; } } while(tecla!=(char)13 && cont,10); printf(“\nAsenha digitada e: %s”,senha); getch(); } Escrever um programa que: leia um conjunto de 10 notas, armazenando-as em um vetor (ou arranjo), calcule e imprima a sua média, calcule e imprima o número de alunos com nota superior à média #include <stdio.h> #include <conio.h> int main() { int i, x, k; float media; k=0; int v[10]; for (i=1; i<=10; i++) { printf (“Difgite a nota do vetor[%d]: ”,i) scanf (“%d”,&v[i]); media=media+v[i]; if(v[i>=6) { K=k+1; } } media=media/10 printf(“A media dos valores digitados e: %,1f\n”,media) printf(“%d alunos acima da media\n”,k); getch(); } Fazer um programa que: leia uma frase de até 80 caracteres, incluindo brancos, conte e imprima quantos brancos existem na frase, conte e imprima quantas vezes a letra A aparece. QUESTÃO ESPECIAL: conte e imprima quantas vezes aparece cada letra. #include <stdio.h> #include <conio.h> #include <string.h> int main() { char frase[80]; int x, z, contB, contA; contB=0; contA=0; printf(“Digite uma frase de ate 80 caracteres:\n”); gets(frase); for (int x=0; x<80; x++) { z=x+1; if(frase[x]==‘ ’) { contB+=1; } if(frase[x]==‘A’ || frase[x]==‘a’) { contA+=1; } if(frase[x]==‘.’) break; } printf (“Existe(m) %d branco(s) na frase.\n,contB) printf (“Existe(m) %d letra(s) A na frase.\n,contA) getch(); } Criar um algoritmo que leia o preço de compra e o preço de venda de dez mercadorias. O algoritmo deverá imprimir quantas mercadorias proporcionam: lucro menor do que 10%, lucro entre 10% e 20%, inclusive, e lucro maior que 20% #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> int main() { char precocompra[10]; char precovenda[10]; float lucro, totlucromenor10, totlucromeno20. totlucromaior20; int i; tolucromenor10=totlucromenor20=totlucromaior20=0 for(i=0; i<=9; i++) { printf(“Entre com o preco de compra da mercadoria: ”); scanf(“%d”,&precocompra[i]); printf(“Entre com o preco de venda da mercadoria: ”); scanf(“%d”,&precovenda[i]); } for(i=0; i<=9; i++) { lucro=(precovenda[i]-precocompra[i]*100/precocompra[i]); if(lucro<=10) { totlucromenor10=totlucromenor10+1; } else { if(lucro<=20) { totlucromenor20=totlucromenor20+1; } else { totlucromaior20=totlucromaior20+1; } } } printf(“Numero de mercadorias com lucro inferior a 10 por cento: %.0f\n”,totlucromenor10); printf(“Numero de mercadorias com lucro maior ou igual a 10 por cento: %.0f\n”,totlucromenor20); printf(“Numero de mercadorias com lucrosuperior a 20 por cento: %.0f\n”,totlucromaior20); getch(); } Criar um algoritmo que leia dois conjuntos de números inteiros, tendo cada um 10 e 20 elementos, e apresentar os elementos que não são comuns aos dois conjuntos. #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { int R[10], S[20], Y[30], Z[30]; int i,j; for(i=0; i<=10; i++) { printf(“Entre com o %i elemento do primeiro vetor: ”i+1); scanf(“%d”,&R[i]); } for(j=0; j<=20; j++) { printf(“Entre com o %i elemento do segundo vetor: ”j+1); scanf(“%d”,&S[j]); } int a=0, b=0, h=0; for(i=0; i<=10; i++){ for(j=0; j<=20; j++){ if(R[i] != S[j]){ R[i]=Y[b]; b++; } } } for (h=0; h<=b; h++) { printf(“Vetores diferentes %i\n”,Y[b]); } getch(); } EXERCÍCIOS SOBRE STRINGS Declare uma string de tamanho 80 e inicialize-a com o valor “AEDS”. #include <stdio.h> #include <conio.h> #include <string.h> #include <ctype.h> int main() { char s[80]= “AEDS”; getch(); } Apresente numericamente como esta string foi representada na memória. Consulte a tabela ASCII para saber o código de cada letra. #include <stdio.h> #include <conio.h> #include <string.h> #include <ctype.h> int main() { char s[80]= “AEDS”; int I; for(i=0; i<=80; i++) { printf(“%d\n”,s[i]); } s[4]= ‘\0’; printf(“%z\n”, s); getch(); }
Compartilhar