Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estadual de Santa Cruz Aluna: Thaís Damacena Passos Programação II // Lista II - Funções // // Questão 01- Escreva uma função chamada máximo que determina o maior valor de três valores inteiros, a, b e c e retorna o resultado . // #include<stdio.h> #include<stdlib.h> void maximo(int a, int b, int c){ int maior=0; if(a>b&&a>c){ maior=a; } if(b>a&&b>c){ maior=b; } if(c>a&&c>b){ maior=c; } printf("\n O maior valor e: %d \n", maior); return maior; } int main(){ int a, b, c; printf("\n Digite 3 valores de numeros inteiros:\n"); scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); maximo(a, b, c); return 0;} // Questão 02- Escreva uma função chamada media que calcula a média aritmética de uma lista de número positivos. A função deve receber como parâmetro um vetor do tipo inteiro e deve retornar a média destes números. // #include<stdio.h> #include<stdlib.h> float media(int quant,float *num ){ int i=0; float med=0, soma=0; for(i=0; i< quant; i++){ soma= soma + num[i]; } med=soma/quant; return med; } int main (){ float num[10], media_num; int i=0; printf("Digite os numeros:\n "); for(i=0; i<10; i++){ scanf("%f", &num[i]); } media_num= media(10,num); printf("\n A media dos numeros e: %.2f \n", media_num); return 0; } //Questão 03 - Escreva uma função chamada fatorial que calcula o fatorial de um número inteiro positivo. A função deve receber como parâmetro do tipo inteiro e deve retornar o fatorial desse número. // #include<stdio.h> #include<stdlib.h> #include<math.h> int fatorial(int num){ int fat = num - 1; while(fat > 1){ num= num * fat; fat--; } return num; } int main(void){ int num, resultado; printf("\n Digite um numero inteiro positivo: \n"); scanf("%d", &num); resultado= fatorial(num); printf("\n O fatorial do numero e: %d \n ", resultado); return 0; } //QUESTÃO 04 - Escreva uma função que receba como parâmetro três números inteiros e imprima esses três números em ordem crescente. A função deve retornar um valor vazio. // #include<stdio.h> #include<stdlib.h> #include<math.h> void ordem_crescente(int N1, int N2, int N3){ if(N3>N1) if(N1>N2){ printf("A ordem crescente dos numeros e: %d %d %d \n", N2, N1, N3); }else if(N2<N3) { printf("A ordem crescente dos numeros e: %d %d %d \n", N1, N2, N3); } if(N1>N2) if(N2>N3) { printf("A ordem crescente dos numeros e: %d %d %d \n", N3, N2, N1); }else if(N3<N1) { printf("A ordem crescente dos numeros e: %d %d %d \n", N2, N3, N1); } if(N1<N2) if(N3<N1){ printf("A ordem crescente dos numeros e: %d %d %d \n", N3, N1, N2); }else if(N3<N2){ printf("A ordem crescente dos numeros e: %d %d %d \n", N1, N3, N2); } return 0; } int main () { int N1, N2, N3; printf("Digite o numero 1: \n"); scanf("%d", &N1); printf("Digite o numero 2: \n"); scanf("%d", &N2); printf("Digite o numero 3: \n"); scanf("%d", &N3); ordem_crescente(N1, N2, N3); return 0; } // QUESTÃO 05 - Escreva uma função que verifique se um número inteiro, passado como parâmetro, é par, retornando verdadeiro se sim e falso caso contrário. // #include<stdio.h> #include<stdlib.h> #include<math.h> void numero_par(int x){ if(x%2!=0){ printf("\n Falso. \n "); }else { printf("\n Verdadeiro. \n"); } return 0; } int main(){ int x; printf("\n Digite um numero inteiro: \n "); scanf("%d", &x); printf("O numero e par?"); numero_par(x); return 0; } // QUESTÃO 06 - Escreva uma função que receba como parâmetro um número inteiro eretorne seu reverso. Ex: 432->234 // #include <stdio.h> #include <math.h> int reverso(int n){ int rev=0; while (n>0) { rev = rev*10; rev = rev+(n%10); n = n/10; } return rev; } int main (){ int n; printf(" Digite um numero: \n "); scanf("%d", &n); reverso(n); printf("O reverso do numero %d e: %d", n, reverso(n)); return 0; } //QUESTÃO 07 - Escreva uma função que receba como parâmetro um número de conta corrente com 5 dígitos e retorne o seu dígito verificador, que é calculado da seguinte maneira: Ex: número da conta: 34532 Somar número da conta com seu inverso: 34532 + 23543 = 58075 Multiplicar cada dígito pela sua ordem posicional e somar este resultado: 5 8 0 7 5 5*1=5 + 8*2=16 + 0*3=0 + 7*4=28 + 5*5=25 -> 74 o último dígito deste resultado é o dígito verificador da conta (74->4) // #include <stdio.h> #include <math.h> int reverso(int n){ int rev = 0; while (n>0) { rev = rev*10; rev = rev+(n% 10); n = n/10; } return rev; } int digito_verificador(int conta){ int conta_inversa, soma, resto=0, posicao=5; conta_inversa = reverso(conta); soma = conta + conta_inversa; while (soma > 0){ //printf("soma: %d\n", soma); resto = resto+(soma % 10)*posicao; soma = soma/10; posicao = posicao-1; } resto = resto%10; return resto; } int main() { int conta; printf("Digite o numero da conta: \n"); scanf("%d", &conta); printf("\n O digito verificador da conta %d e: %d \n", conta, digito_verificador(conta)); return 0; } // QUESTÃO 08 - Escreva um programa que faça uso das funções escritas anteriormente. O programa deve pedir ao usuário que ele digite um número e deve imprimir: seu fatorial, se é par ou ímpar e seu reverso. // #include <stdio.h> #include <math.h> int fatorial(int num){ int fat = num - 1; while(fat > 1){ num= num * fat; fat--; } return num; } int numero_par(int x){ if(x%2!=0){ printf("\n O numero %d e impar. \n ", x); }else { printf("\n O numero %d e par. \n", x); } return numero_par; } int reverso(int n){ int rev=0; while (n>0) { rev = rev*10; rev = rev+(n%10); n = n/10; } return rev; } int main(){ int numero; printf("\n Digite um numero: \n"); scanf("%d", &numero); printf("\n O fatorial do numero e: %d \n", fatorial(numero)); numero_par(numero); printf("\n O reverso do numero e: %d \n ", reverso(numero)); return 0; }
Compartilhar