Gabarito prova 3
Ir para navegação
Ir para pesquisar
Questão 1:
#include <stdio.h>
#include <stdlib.h>
int main()
{ char str [81];
int i;
printf("Entre com uma frase de até uma linha: \n");
gets(str);
for(i=0; i<81 && str[i]; i++)
{
if( ! (str[i]==32||(str[i] >= 65 && str[i] <= 90)||(str[i] >= 97 && str[i] <= 122)|| (str[i] >= 48 && str[i] <= 57)))
str[i]=32;
}
printf("\n\nFrase corrigida: \n\n");
puts(str);
return 0;
}
Questão 2:
#include <stdio.h>
#include <stdlib.h>
#define NFUNC 3
#define SALMIN 937
int main()
{ float salbase,salbruto, hen, desc, faltas, salarios[NFUNC];
int ndep, i,j;
char nomes[NFUNC] [81], strtemp[81];
for(i = 0;i<NFUNC;i++)
{ //Leitura dos dados
printf("\nEntre com o nome do funcionario: ");
gets(nomes[i]);
// j=0;
// while(strtemp[j])
// nomes[i][j]=strtemp[j++];
printf("\nEntre com o valor do salario base: ");
scanf("%f", &salbase);
printf("\nEntre com o numero de horas extras trabalhadas (periodo noturno): ");
scanf("%f", &hen);
printf("\nEntre com o numero de dependentes: ");
scanf("%d", &ndep);
printf("\nEntre com o numero de horas faltadas: ");
scanf("%f", &faltas);
//Calculo dos acrescimos:
salbruto= salbase + (hen*1.2*salbase/160) + (ndep*0.05*SALMIN);
//Calculo dos descontos:
desc = (0.08*salbase) + (faltas*salbase/160) + (0.08*salbruto);
salarios[i] = salbruto - desc;
setbuf(stdin, NULL);//limpa o buffer de teclado
}
printf("\n\n**** FOLHA DO MES: *****\n");
for(i=0;i<NFUNC;i++)
{ printf("\n Funcionario %d: ", i+1);
puts(nomes[i]);
printf("\n\tTOTAL LIQUIDO:\t\t\tR$%.2f\n\n", salarios[i]);
}
return 0;
}
Questão 3:
#include <stdio.h>
#include <stdlib.h>
int main()
{ unsigned int numero, wbin[8], valtemp;
int i;
for(i=0;i<8;i++)
wbin[i]=0;
printf("\nEntre com um numero inteiro: \n");
scanf("%u", &numero);
valtemp = numero;
i=0;
while(valtemp >=2)
{ wbin[i]= valtemp%2;
valtemp /=2;
i++;
}
wbin[i]=1;
printf("\nO correspondente em binario \202: \n ");
for(i=7;i>=0;i--)
printf("%u", wbin[i]);
printf("\n\n");
return 0;
}
Questão 4:
#include <stdio.h>
#include <stdlib.h>
int main()
{ float A[5][4], somalinha, temp, maximo=-429496;
int i, j, linhamax;
for(i=0;i<5;i++)
{ somalinha = 0;
for(j=0;j<4;j++)
{
printf("\nEntre com o elemento da linha %d e coluna %d: ", i+1, j+1);
scanf("%f", &temp);
A[i][j] = temp;
somalinha +=A[i][j];
}
if(somalinha > maximo)
{ maximo = somalinha;
linhamax = i+1;
}
}
printf("\n\nA linha que teve o maior somatorio foi a linha %d, com soma = %.2f", linhamax, maximo);
return 0;
}
Questão 5: