Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Ceará - UFC Centro de ciências – CC Departamento de Computação – DC Fundamentos de Programação Exercício: Estrutura de Repetição Objetivos: Introduzir as principais estruturas de repetição. ALICE BARROS FREIRE Matrícula: 471490 JOSE LUCAS SIQUEIRA FREITAS Matrícula: 475167 JULYANA XAVIER MARTINS Matrícula: 485324 1 ) - Passagem de parâmetro por valor. #include <stdio.h> #include <stdlib.h> int numero() { int num; printf("Digite o número para ser convertido: "); scanf("%d", &num); return num; } int main () { int bin[8]; int i; int num=numero(); for (i = 7; i >= 0; i--) { if (num % 2 == 0) bin[i] = 0; else bin[i] = 1; num = num / 2; } for (i = 0; i < 8; i++) printf("%d", bin[i]); printf("\n"); return 0; } 2) #include<stdio.h> #include <math.h> int mult (int a, int b){ int s=0; for (int i=0; i<a; i++){ s=s+b; } return s; } int main (){ int a, b, s; scanf("%d", &a); scanf("%d", &b); s=mult(a,b); printf("%d", s); return 0; } 3) #include<stdio.h> #include<math.h> int some(int m, int n); int main(){ int m,n,soma; scanf("%d %d",&m,&n); soma=some(m,n); printf("%d",soma); return 0; } int some(int m, int n){ int sum=m; for(int i=1;i<=n;i++){ sum++; } return sum; } 4 ) - Função sem passagem de parâmetro e com retorno. #include<stdio.h> int multiplicacao() { int n1, n2, s1=0, s2=0, mult; int i, j; printf("Digite n1:"); scanf("%d", &n1); printf("Digite n2:"); scanf("%d", &n2); for(i=0; i<n1; i++) { s1=s1+1; } for(j=0; j<n2; j++) { s2=s2+1; } mult=s1*s2; return mult; } int main() { int resposta; resposta=multiplicacao(); printf("A multiplicacao eh:%d", resposta); return 0; } 5) #include <stdio.h> int produto(int n1, int n2) { if (n2== 0){ return n2; } else{ return n1 + produto(n1,n2-1); } } int main(){ int x, n, result; printf("forneca valores a semrem x e n: "); scanf("%d %d", &x, &n); result=produto(x,n); printf("resultado= %d",result); return 0; } 6) #include<stdio.h> #include<math.h> int fatorial(int n) { int i,fat; fat=n; if (n > 0) { fat = fat*fatorial(n-1); return fat; } else { fat = 1; return fat; } } void gera_combinacoes(int c,int l,int n, char comb[][23],char subset[]) { int i,j,k,w,nrep; char new_subset[n-1]; if (n > 1) { nrep = fatorial(n)/n; for (i=0;i<n;i++) { for (j=0;j<nrep;j++) { comb[l][c]=subset[i]; l+=1; } w = 0; for (k=0;k<n;k++) { if (subset[k] != subset[i]) { new_subset[w] = subset[k]; w++; } } gera_combinacoes(c+1,l-j,n-1,comb,new_subset); } } else { comb[l][c]=subset[0]; } } int main() { int n,ncomb,c,l,i,j; char alpha[23]={'a','b','c','d','e','f','g','h','i','j','l','m','n','o','p','q','r','s','t','u','v','x','z'}; printf("\nDigite o valor de n (n primeiras letras): "); scanf("%d",&n); char subset[n]; for (i=0;i<n;i++) { subset[i]=alpha[i]; } printf("\nConjunto considerado: \n"); for (i=0;i<n;i++) { printf("%c ",subset[i]); } ncomb = fatorial(n); char comb[ncomb][23]; c = 0; l = 0; gera_combinacoes(c,l,n,comb,subset); printf("\n%d sequencias geradas: \n",ncomb); for (i=0;i<ncomb;i++) { for (j=0;j<n;j++) { printf("%c ",comb[i][j]); } printf("\n"); } } 8) Considerando que o primeiro termo da série seja 1 #include <stdio.h> long fib(int n1) { if (n1==0 || n1==1){ return n1-0; } else { return fib (n1-1) + fib(n1-2); } } int main(){ int n; long resp; printf("digite a posicao n: "); scanf("%d", &n); resp=fib (n); printf("O temo %d da serie eh: %ld",n,resp); return 0; } 9) #include<stdio.h> #include<math.h> void fibonacci(int N){ int x=0,y=0,z=1; if(N==1) printf("%d",x); else{ for(int i=1;i<=N;i++){ y=x; x=x+z; z=y; printf(" %d",x); } } } int main(){ int n; scanf("%d",&n); fibonacci(n); return 0; } 10 ) - Função com passagem de parâmetro e com retorno. #include<stdio.h> int prod(int m){ int soma=0, i; for(i=0; i<=m; i++) { soma=soma+i; } return soma; } int main (void) { int m, n, soma, i; printf("Digite uma quantidade:"); scanf("%d", &m); soma=prod(m); printf("A soma dos %d inteiros primeiros:%d", m, soma); return 0; } 11) #include <stdio.h> float soma_a(float v[], int n) { if ( n == 1 ) return v[0]; else return v[n-1] + soma_a(v,n-1); } int main(){ int n, i; printf("digite o tamanho do vetor: "); scanf("%d", &n); float v[n], resp; printf("digite os termos do vetor: "); for (i=0; i<n; i++){ scanf("%f", &v[i]); } resp=soma_a(v,n); printf("a soma do array eh %g", resp); return 0; } 12) #include<stdio.h> #include<math.h> void somav(int vet[],int n){ int maior=0; for(int i=0;i<n;i++){ if(vet[i]>=maior){ maior=vet[i]; } } printf("%d",maior); } int main(){ int v[50]; for(int i=0;i<50;i++) v[i]=0; for (int i=0;i<7;i++) scanf("%d",&v[i]); somav(v,50); return 0; } 13 ) - Função sem passagem de parâmetro e sem retorno. #include <stdio.h> #define N 5 int conversao() { int vetOriginal[N], vetInvert[N]; int i, prod[5]; printf("Preencha um vetor de tamanho 5:\n"); for(i = 0; i < N; i++) { scanf("%d", &vetOriginal[i]); } printf("Vetor invertido:\n"); for(i = 0; i < N; i++) { vetInvert[i] = vetOriginal[N-i-1]; printf(" %d", vetInvert[i]); } } int main() { conversao(); return 0; }
Compartilhar