Baixe o app para aproveitar ainda mais
Prévia do material em texto
----------------------------------------------------------------------------------------------------------------------- 01/10 Usando uma linguagem de programação C/C++, escreva um programa que receba uma string de até 20 caracteres, conte o número de vogais existentes nesta string e imprima o número total de caracteres da string, o número de vogais nesta string e o percentual de vogais em relação ao comprimento da string. -------------------------------------------------------------------------------------------------------------- Revisão feita, porem codigo não compila corretamente no visual studio, porem no DEV C codigo funciona normal. --------------------------------------------------------------------------------------------------------------OK! #include <stdlib.h> #include <stdio.h> #include <string.h> bool ehVogal(char letra) { if (letra == 'a' || letra == 'A' || letra == 'e' || letra == 'E' || letra == 'i' || letra == 'I' || letra == 'o' || letra == 'O' || letra == 'u' || letra == 'U'){ return true; } else { return false; } } double porcentagem(int cont, int total) { return (double)cont * 100 / (double)total; } int main() { char frase[21]; int i = 0, letra = 0, comprimento = 0; printf("Digite uma frase de ate 20 caracteres: \n"); gets_s(frase); getchar(); system("cls"); comprimento = strlen(string); for (i = 0; i < comprimento; i++) { if (ehVogal(frase[i])) { letra++; } } printf("A frase digitada: %s\n", frase); printf("A quantidade de vogais: %d\n", letra); printf("O percentual de vogais na frase:%.2f%\n", porcentagem(letra, comprimento)); system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 02/10 - // , escreva um programa que contenha uma função que retorna o seguinte: A função recebe 3 valores float e retornar o quadrado do 1º mais a soma dos outros dois. Observe que esta função deverá retornar um tipo float. O seu programa deverá ter função, permitir a digitação dos números, e imprimir tanto os números digitados quanto o resultado da função. -------------------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> float operacao(float val1, float val2, float val3) { return pow(val1, 2) + val2 + val3; } int main() { float val1 = 0.0, val2 = 0.0, val3 = 0.0; printf("Digite o primeiro valor:"); scanf_s("%f", &val1); printf("Digite o segundo valor:"); scanf_s("%f", &val2); printf("Digite o terceiro valor:"); scanf_s("%f", &val3); printf(" O resultado: %.3f", operacao(val1, val2, val3)); printf("\n"); system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 03 /10 - // , faça um programa que receba duas matrizes 3x3 e imprima, as duas matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas. ---------------------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> int main() { int a[3][3] = { 0 }, b[3][3] = { 0 }, mult[3][3] = { 0 }; int i, j, k; system("cls"); printf("Digite os elementos da primeira matriz\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\n Digite o elemento a[%d][%d]:", i, j); scanf_s("%d", &a[i][j]); } } printf("\n\n"); printf("Digite os elementos da segunda matriz\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\n Digite o elemento b[%d][%d]:", i, j); scanf_s("%d", &b[i][j]); } } printf("\n\n A primeira matriz digitada foi:\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", a[i][j]); printf("\n"); } printf("\n\n A segunda matriz digitada foi:\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", b[i][j]); printf("\n"); } printf("\n\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { mult[i][j] = 0; for (k = 0; k < 3; k++) mult[i][j] = mult[i][j] + a[i][k] * b[k][j]; } } printf("\n\n O produto entre as duas matrizes:\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", mult[i][j]); printf("\n"); } printf("\n\n A diagonal do produto \n:"); for (i = 0; i < 3; i++) { for(j = 0;j<3;j++){ if (i == j) printf("%d\t", mult[i][j]); else printf("\t"); } printf("\n\n"); } system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 04/10 - // , escreva um programa que preenche um vetor de inteiros com 20 posições de números maiores ou iguais a 10 e menores que 100, e imprima o maior número armazenado neste vetor. Observe que, sempre que o usuário digitar um número fora do intervalo permitido o programa deverá solicitar outro número até que o vetor esteja preenchido. Observe também que o seu programa deverá imprimir, além do maior número armazenado, o vetor contendo os números digitados. ---------------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> int main() { int num[20], i, maior = 0; for (i = 0; i<20; i++) { printf("Informe um valor %d:", i + 1); scanf_s("%d", &num[i]); if ((num[i] < 10 || num[i] >= 100)) { printf("\n Valor invalido %d !\n", i + 1); i--; } else { if (num[i]>maior) { maior = num[i]; } } } printf("\n O vetor digitado foi:"); for (i = 0; i<20; i++) { printf("\n num[%d]:%d", i, num[i]); } printf("\n Maior valor digitado: %d", maior); printf("\n\n"); system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 05/10 - //, escreva um programa que recebe o nome, com até 50 caracteres de um aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo do seu disco. Observe que a nota deverá estar entre zero e dez e números reais são permitidos. -----------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> #include <conio.h> struct aluno { char nome[51]; float nota; }; int main() { int i = 0, num = 50; struct aluno dados[3]; FILE *arquivo; errno_t err; for (i = 0; i<num; i++) { printf("Digite o nome do aluno \n", i); gets_s(dados[i].nome); printf(" Digite a nota do aluno \n", i); scanf_s("%f", &dados[i].nota); getchar(); system("cls"); } err = fopen_s(&arquivo, "dados.txt", "w+"); if (err == 0) { printf("O arquivo 'dados.txt' foi aberto!"); for (i = 0; i<num; i++) { fprintf(arquivo, "%s;%.2f \n", dados[i].nome, dados); } } else { printf("O arquivo não pode ser aberto 'dados.txt' \n"); } if (arquivo) { err = fclose(arquivo); if (err == 0) { printf("\n O arquivo 'dados.txt' foi fechado. \n"); } else { printf("\n O arquivo não pode ser fechado 'dados.txt' \n"); } } printf("\n\n"); system("pause"); return 0; } ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 06/10 - //, escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o segrama deverá ter uma função para identificar se um caractere e vogal ou não. --------------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> //detecção de letras. bool ehVogal(char vogal){ if (vogal == 'a' || vogal == 'A' || vogal == 'e' || vogal == 'E' || vogal == 'i' || vogal == 'I' || vogal == 'O' || vogal == 'o' || vogal == 'U' || vogal == 'u' ) { return true; } else { return false; } } int main() { char vogal[5], consoante[5], frase[21] = { ' ' }; int i = 0, count = 0; printf(" Digite a frase desejada: "); gets_s(frase); for (i = 0; i<20; i++) { if (ehVogal(frase[i]) && count <= 4) { vogal[count] = frase[i] / count++; } } count = 0; for (i = 20; i >= 0; i--) { if ((!ehVogal(frase[i]) && frase[i] != '\0' && frase[i] != '\n' && frase[i] != ' ') && count <= 4) { consoante[count] = frase[i]; count++; } } printf("A frase digitada: %s \n", frase); printf("As vogais: "); for (size_t i = 0; i<5; i++) { printf("%c ", vogal[i]); } printf("As consoantes: "); for (size_t i = 0; i<5; i++) { printf("%c ", consoante[i]); } printf("\n\n"); system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 07/10 - //, escreva um programa que imprima a soma dos 10 primeiros números pares entre 1 e 100. Observe que seu programa deverá ter uma função para indicar se um numero e par, imprimir os números selecionados e a soma solicitada. --------------------------------------------------------------------------------------------------------------- OK! #include <stdio.h> #include <stdlib.h> int main() { int num[10], i, j, k; int eh_Par(int n) { if ((n % 2) == 0) return 1; else return 0; } imprime_num() { printf("Numeros selecionados:\n"); for (i - 0; i < 10; i++) printf("%i \n", num[i]); } imprime_soma_num() { int soma = 0; printf("A soma dos numeros selecionados: \n"); for (i = 0; i<10; i++) soma = soma + num[i]; printf("%i\n", soma); } k = 0; for (j = 1; j <= 100; j++) { if (eh_Par[j] == 1) { num[k] = j; k++; if (k == 10) break; } } imprime_num(); printf("\n"); imprime_soma_num(); printf("\n\n"); system("pause"); return 0; ----------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- 08/10 - //, escreva um programa que armazene em um vetor de até 5 posições as informações de nome, idade e sexo. Sabendo que nome e uma string de até 50 caracteres, idade e um interior e sexo e um caractere e que estes dados devem ser armazenados em uma struct. ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> #include <string.h> struct cadastro { char nome[50]; int idade; char sexo; }; int main() { struct cadastro aluno[5]; int i; for (int i = 0; i < 5; i++) { printf("\n Cadastro de numero: %d", i + 1); printf("\n Nome:"); gets_s(aluno[i].nome); printf("\n Idade:"); scanf_s("%d", &aluno[i].idade); printf("\n Sexo (F/M):"); scanf_s("%c", &aluno[i].sexo); getchar(); } system("cls"); printf("Os Alunos cadastrados:"); for (i = 0; i<5; i++) { printf("\n Nome:%s", aluno[i].nome); printf("\n Idade: %d", aluno[i].idade); printf("\n Sexo: %c", aluno[i].sexo); } printf("\n\n"); system("pause"); return 0; } ------------------------------------------------------------------------------------------------------------------------ 09/10 - //, escreva um programa que receba uma string de até 20 caracteres e imprima a string digitada e esta mesma string em ordem inversa com todas as vogais substituídas pelo caractere @. -----------------------------------------------------------------------------------------------------------Revisar! #include <stdio.h> #include <stdlib.h> bool ehVogal(char vogal){ if (vogal == 'a' || vogal == 'A' || vogal == 'e' || vogal == 'E' || vogal == 'i' || vogal == 'I' || vogal == 'o' || vogal == 'O' || vogal == 'u' || vogal == 'U' ){ return true; } else { return false; } } int main(){ char frase[21] = { ' ' }; int i = 0; // digitando a frase e mostrando em tela. printf ("Digite a frase desejada: "); gets_s ( frase ); printf ("\n A frase digitada: %s\n", frase); // invertendo a frase e convertendo vogal em @ printf ("\n Invertendo e substituindo: "); for (i=19; i>=0; i--){ if (ehVogal(frase[i])){ frase[i] = '@'; } printf("%c",frase[i]); } system("pause"); return 0; } ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 10/10 - //, o aluno deverá escrever um programa que receba uma matriz 3x3 de números inteiros e imprima, na tela do console, tanto a matriz digitada quanto a diagonal principal da mesma. --------------------------------------------------------------------------------------------------------------OK! #include <stdio.h> #include <stdlib.h> int main () { int matriz [3][3] = { }; int i,j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\n Digite os elemento da matriz [%d][%d]:", i,j); scanf_s("%d", &matriz[i][j]); } } printf("\n\n"); printf("\n\n A matriz digitada foi:\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", matriz[i][j]); printf("\n"); } printf("\n\n"); printf("\n\n A diagonal da matriz \n:"); for (i = 0; i < 3; i++) { for(j = 0;j<3;j++){ if (i == j) printf("%d\t", matriz[i][j]); else printf("\t"); } printf("\n\n"); } system("pause"); return 0; } -----------------------------------------------------------------------------------------------------------------------
Compartilhar