- Si solo muestras la frase como va avanzando.
- Si cuando acaba la frase vuelves a empezar de nuevo y siempre imprimes los mismos caracteres.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
void main()
{
int c,e=0,f,h=0;
char a[255];
do
{
printf("Introduce una frase: ");
fgets(a,255,stdin);
a[strlen(a)-1]= 0;
f=0;
for (c=0;c<5;c=++)
{
while (e+f<strlen(a))
{
if((e+f)%2==0)
{
printf("%c",a[e+f]);
}
e++;
}
while(e<strlen(a))
{
if((e+f)%2==0)
{
printf("%c",a[h]);
}
e++;
h++;
}
f+=4;
if(f>=strlen(a))
{
f=0;
}
e=0;
h=0;
printf("\n");
}
do
{
printf("quieres escribir otra frase, escribe s o n: ");
fgets(a,255,stdin);//mala idea mezclar scanf y fgets, problemas al hacer bucles, fgets salto de linia
a[strlen(a)-1]= 0;
}
while (strcmp(a,"s") != 0 && strcmp(a,"n") != 0);//strcmp compara
}
while(strcmp(a,"n") != 0);
}
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
void main()
{
int c,e=0,f,h=0;
char a[255];
do
{
printf("Introduce una frase: ");
fgets(a,255,stdin);
a[strlen(a)-1]= 0;
f=0;
for (c=0;c<5;c=++)
{
while (e+f<strlen(a))
{
if((e+f)%2==0)
{
printf("%c",a[e+f]);
}
e++;
}
while(e<strlen(a))
{
if((e+f)%2==0)
{
printf("%c",a[h]);
}
e++;
h++;
}
f+=4;
if(f>=strlen(a))
{
f=0;
}
e=0;
h=0;
printf("\n");
}
do
{
printf("quieres escribir otra frase, escribe s o n: ");
fgets(a,255,stdin);//mala idea mezclar scanf y fgets, problemas al hacer bucles, fgets salto de linia
a[strlen(a)-1]= 0;
}
while (strcmp(a,"s") != 0 && strcmp(a,"n") != 0);//strcmp compara
}
while(strcmp(a,"n") != 0);
}
#include <stdio.h>
void main()
{
int a[50],i,suma=0,contar=0;
for (i = 0; i< 50; i++)
{
a[i] = random()%101;
if(i%2==0)
{
if (a[i]%2!=0)
{
printf("%2d\n",a[i]);
suma=a[i]+suma;
contar++;
}
}
}
printf("suma total de los numeros impares en posicion par: %d\nTotal de de numeros impares en posiciones pares: %d",suma, contar);
}
3. Crear aleatoriamente una lista unidimensional de 50 elementos con números aleatorios comprendidos entre 1 y 100 de tal forma que no se repita ningún elemento, y no puede haber ningún elemento que sea múltiplo de la posición que ocupa.
#include <stdio.h>
void main()
{
int a[50],c,i,h,contador;
for (i = 0; i< 50; i++)
{
a[i] = random()%100+1;
if(i != 0)
{
h=i;
contador=0;
for(c=0;c<=h;c++)
{
if (a[c-1]==a[i])
{
i--;
contador++;
}
}
if (i != 1 && a[i]%i==0&&contador==0)
{
i--;
}
}
}
for (i = 0; i< 50; i++)
{
printf("%2d ",a[i]);
}
}
No hay comentarios:
Publicar un comentario