Problema calculando procentajes, dan siempre 0
Publicado por alberto (7 intervenciones) el 25/05/2018 06:59:09
Hola.Tengo que hacer un programa que me diga la cantidad de dígitos de una frase y el porcentaje de palabras impares de la frase. El problema es el porcentaje, calculo todos los valores bien (lo verifiqué), pero cuando tengo que sacar el porcentaje siempre me da 0. Alguien me puede ayudar a arreglarlo? Muchas gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
int dig(char frase[]);
int por(char frase[]);
int main()
{
int f=0,p,d;
float pr;
char frase[100],c;
printf("Ingrese una frase\n");
while((c=getchar())!='\n'){
frase[f++]=c;
}
frase[f]='\0';
p=por(frase);
d=dig(frase);
printf("El porcentaje de palabras cuyo largo es impar es %d\n",p);
printf("La cantidad de dígitos que tiene la frase es %d\n",d);
return 0;
}
int dig(char cade[]){
int k, cantd=0;
for(k=0;cade[k];k++){
if(isdigit(cade[k])){
cantd++;
}
}
return cantd;
}
int por(char cade[]){
int i,cpal=1,carcpal=0,palimp=0;
float porcen=0;
for(i=0;cade[i];i++){
if(cade[i]==' '||cade[i]=='\0'){
cpal++;
}
if(cade[i]!=' '){
carcpal++;
}
else
{
if(carcpal%2!=0){
palimp++;
carcpal=0;
}
}
}
if(carcpal%2!=0){
palimp++;
carcpal=0;
}
porcen=(palimp/cpal)*100;
printf("%f",porcen);
return porcen;
}
Valora esta pregunta
![Me gusta: Está pregunta es útil y esta clara Me gusta: Está pregunta es útil y esta clara](/img/img.png?11.51)
![NO me gusta: Está pregunta no esta clara o no es útil No me gusta: Está pregunta no esta clara o no es útil](/img/img.png?11.51)
0