Compartir entrada

jueves, 16 de mayo de 2013

25 ejercicios resueltos de estructuras de control iterativas en C

Durante el quinto capítulo del curso básico de C vimos las estructuras de control iterativas, los tipos de bucles existentes y la forma de utilizarlos, después plantee una nueva tanda de 25 ejercicios de estructuras iterativas.


25 ejercicios resueltos de estructuras de control iterativas en C
Foto tomada de freedigitalphotos.net

Siguiendo las pautas marcadas y como viene siendo costumbre, os dejo con las soluciones de todos los ejercicios.

Realice un programa en C:

1.      Que pida un número y diga si es primo o no.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num, cont, x;
           
            printf("Introduzca número: ");
            scanf("%d",&num);
           
            cont=0;
           
            for (x=1;x<=num;x++)
            {
        if (num%x==0)
        {
           cont++;
        }
    }
           
            if (cont==2 || num==1 || num==0)
            {
     printf("Es primo\n");
    }
    else
    {
     printf("No es primo\n");
    }               
           
    system("PAUSE");     
    return 0;
}

2.      Que muestre los números del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x;
           
            for (x=1;x<=100;x++)
            {
        printf("%d\n",x);
    }
           
    system("PAUSE");     
    return 0;
}

3.      Que muestre los números del 100 al 1.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x;
           
            for (x=100;x>=1;x--)
            {
        printf("%d\n",x);
    }
           
    system("PAUSE");     
    return 0;
}

4.      Que muestre los números pares que haya del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x;
           
            for (x=1;x<=100;x++)
            {
        if (x%2==0)
        {
           printf("%d\n",x);
        }
    }
           
    system("PAUSE");     
    return 0;
}

5.      Que muestre los números impares que haya del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x;
           
            for (x=1;x<=100;x++)
            {
        if (x%2!=0)
        {
           printf("%d\n",x);
        }
    }
           
    system("PAUSE");     
    return 0;
}

6.      Que imprima la suma de todos los números que van del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum;
           
            sum=0;
           
            for (x=1;x<=100;x++)
            {
        sum=sum+x;
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

7.      Que imprima la suma de todos los números pares que van del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum;
           
            sum=0;
           
            for (x=1;x<=100;x++)
            {
        if (x%2==0)
        {
           sum=sum+x;
        }
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

8.      Que imprima la suma de todos los números impares que van del 1 al 100.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum;
           
            sum=0;
           
            for (x=1;x<=100;x++)
            {
        if (x%2!=0)
        {
           sum=sum+x;
        }
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

9.      Que imprima la suma de todos los números pares que van del 1 al 100 y diga cuántos hay.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum,cont;
           
            sum=0;
            cont=0;
           
            for (x=1;x<=100;x++)
            {
        if (x%2==0)
        {
           sum=sum+x;
           cont=cont+1;
        }
    }
           
            printf("Hay %d números\n",cont);
            printf("La suma es: %d\n",sum);
           
    system("PAUSE");     
    return 0;
}

10.  Que imprima la suma de todos los números impares que van del 1 al 100 y diga cuántos hay.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum,cont;
           
            sum=0;
            cont=0;
           
            for (x=1;x<=100;x++)
            {
        if (x%2!=0)
        {
           sum=sum+x;
           cont=cont+1;
        }
    }
           
            printf("Hay %d números\n",cont);
            printf("La suma es: %d\n",sum);
           
    system("PAUSE");     
    return 0;
}

11.  Que pida dos números y muestre todos los números que van desde el primero al segundo. Se debe controlar que los valores son correctos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num1, num2,x;
           
            printf("Introduzca primer número:");
    scanf("%d",&num1);
            printf("Introduzca segundo número:");
    scanf("%d",&num2);
           
            if (num1>num2)
            {
       printf("Los valores introducidos no son correctos \n");
    }
            else
            {
            for (x=num1;x<=num2;x++)
            {
           printf("%d\n",x);
        }
    }
           
    system("PAUSE");     
    return 0;
}

12.  Que pida dos números y muestre todos los números pares que van desde el primero al segundo. Se debe controlar que los valores son correctos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      int num1, num2,x;
     
      printf("Introduzca primer número:");
    scanf("%d",&num1);
      printf("Introduzca segundo número:");
    scanf("%d",&num2);
     
      if (num1>num2)
      {
       printf("Los valores introducidos no son correctos \n");
    }
      else
      {
      for (x=num1;x<=num2;x++)
      {
            if (x%2==0)
            {
               printf("%d\n",x);
            }
        }
    }
     
    system("PAUSE");      
    return 0;
}

13.  Que pida dos números y muestre todos los números impares que van desde el primero al segundo. Se debe controlar que los valores son correctos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num1, num2,x;
           
            printf("Introduzca primer número:");
    scanf("%d",&num1);
            printf("Introduzca segundo número:");
    scanf("%d",&num2);
           
            if (num1>num2)
            {
       printf("Los valores introducidos no son correctos \n");
    }
            else
            {
            for (x=num1;x<=num2;x++)
            {
            if (x%2!=0)
            {
               printf("%d\n",x);
            }
        }
    }
           
    system("PAUSE");     
    return 0;
}

14.  Que pida dos números y sume todos los números que van desde el primero al segundo. Se debe controlar que los valores son correctos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num1, num2,x, sum;
           
            printf("Introduzca primer número:");
    scanf("%d",&num1);
            printf("Introduzca segundo número:");
    scanf("%d",&num2);
           
            if (num1>num2)
            {
       printf("Los valores introducidos no son correctos \n");
    }
            else
            {
        sum=0;
            for (x=num1;x<=num2;x++)
            {
            sum=sum+x;
        }
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

15.  Que pida dos números y multiplique todos los números que van desde el primero al segundo. Se debe controlar que los valores son correctos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num1, num2,x, sum;
           
            printf("Introduzca primer número:");
    scanf("%d",&num1);
            printf("Introduzca segundo número:");
    scanf("%d",&num2);
           
            if (num1>num2)
            {
       printf("Los valores introducidos no son correctos \n");
    }
            else
            {
        sum=1;
            for (x=num1;x<=num2;x++)
            {
            sum=sum*x;
        }
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

16.  Que pida un número y muestre en pantalla el mismo número de asteriscos.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int num1, x;
           
            printf("Introduzca primer número:");
    scanf("%d",&num1);
           
            for (x=1;x<=num1;x++)
            {
        printf("*");
    }
            printf("\n");
           
    system("PAUSE");     
    return 0;
}

17.  Que muestre los números del 1 al 100 en una tabla de 10x10.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,y,num=1;
           
            for (x=1;x<=10;x++)
            {
        for (y=1;y<=10;y++)
                {
            printf("%4d",num);
            num++;
        }
        printf("\n");
    }
            printf("\n");
           
    system("PAUSE");     
    return 0;
}

18.  Que escriba las tablas de multiplicar del 0 al 10.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,y;
           
            for (x=0;x<=10;x++)
            {
        for (y=1;y<=10;y++)
                {
            printf("%d X %d = %d \n",x,y,x*y);
        }
        printf("\n");
    }
            printf("\n");
           
    system("PAUSE");     
    return 0;
}

19.  Que muestre la tabla de multiplicar de un número cualquiera.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,num;
           
            printf("Introduce número:");
            scanf("%d",&num);
           
            for (x=1;x<=10;x++)
            {
        printf("%d X %d = %d \n",num,x,num*x);
    }
            printf("\n");
           
    system("PAUSE");     
    return 0;
}

20.  Que haga un menú del tipo “desea salir (S/N)” y el programa no termine hasta que el usuario teclee “S”.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char c;
   
    printf("¿Desea salir (S/N)?: ");
    gets(&c);
   
    while (c!='s' && c!='S')
    {
        printf("Opción incorrecta\n");
        printf("¿Desea salir (S/N)?: ");
        gets(&c);
    }
      
    system("PAUSE");     
    return 0;
}

21.  Que calcule el factorial de un número cualquiera y lo muestre en pantalla.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

  int num, num2;

  printf("Introduce número: ");
  scanf("%d",&num);
  num2=num;

  while (num2!=1){
        num2=num2-1;
        num=num*num2;
  }

  printf("El factorial es: %d \n", num);

  system("PAUSE");    
  return 0;
}

22.  Que calcule la media de 10 números.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int num,x;
    float sum=0;
   
    for (x=1;x<=10;x++)
    {
        printf("Introduzca número:");
        scanf("%d",&num);
        sum=sum+num;
    }
   
    printf("La media es:%6.2f\n",sum/10);
      
    system("PAUSE");     
    return 0;
}

23.  Que calcule la media de X números, se dejarán de solicitar números hasta que se introduzca el cero.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int num=1,cont=0;
    float sum=0;
   
    while (num!=0)
    {
        printf("Introduzca número:");
        scanf("%d",&num);
        sum=sum+num;
        if (num!=0)
        {
           cont=cont+1;
        }
       
    }
   
    printf("La media es:%6.2f\n",sum/cont);
      
    system("PAUSE");     
    return 0;
}

24.  Que calcule la suma de los cuadrados de los 100 primeros números.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,sum;
           
            sum=0;
           
            for (x=1;x<=100;x++)
            {
        sum=sum+(x*x);
    }
           
            printf("%d\n",sum);
           
    system("PAUSE");     
    return 0;
}

25.  Que escriba los primeros 25 dígitos de la sucesión de Fibonacci.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int x,y,z,cont;

  x=0;
  y=1;
 
  printf("0\n1\n",z);
 
  for (cont=1;cont<=25;cont=cont+1)
  {
      z=x+y;
      printf("%d\n",z);
      x=y;
      y=z;
  }
 
  system("PAUSE");     
  return 0;
}

¿Qué os parecen los ejercicios?

 
Google+