Otros Ejercicios C++

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 95

Ejemplo #1

Este primer ejemplo consiste en aprender como se declaran las funciones, como se
utilizan, ademas veremos librerías importantes para acentuar palabras o como las "Ñ" en
lenguaje español. El #include <windows.h> y using namespace std; pone a su
disposición los objetos cout y cin, el #include <locale.h> para utilizar los acentos.
?
1 #include <iostream>/*Librería, in out stream que se usa para las
2 lineas cout y cin*/
#include <windows.h>/*Librería específico de Windows que contiene
3 las funciones Windows API*/
4 #include <locale.h>/*Librería para establecer la configuración
5 regional actual*/
6 using namespace std;
int suma(int, int);/*Se declara la función suma*/
7
8  /*Todo lo que está en el main se va a ejecutar*/
9 int main(){
1     setlocale(LC_CTYPE, "Spanish");/*Para poder utilizar los
0 acentos*/
1     int num1, num2;/*Se declara los campos que digitará el usuario*/
1     
    cout<<"Escriba el primer número: ";
1     cin>> num1;
2     
1     cout<<"Escriba el segundo número: ";
3     cin>> num2;
1  
4     cout<<"La suma es: "<< suma(num1, num2)<<"\n";/*Llama a la
1 función y envía los 2 números*/
    system("pause");/*Congela el resultado para que puedas verlo*/
5 }
1  
6 /*Función suma que recibe los dos números y retorna el total de la
1 suma*/
7 int suma(int a, int b){
1     int c;/*Declaro "c" privada para la función*/
    c = a + b;
8     return c;
1 }
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
Ejemplo #2
El promedio de N notas, utiliza funciones, do while, arreglos 
?
1 #include <iostream>
2 #include <windows.h>
using namespace std;
3
 
4 /*Declaras la función al mismo tiempo calcula el promedio*/
5 /*Si quieres cambiar de posición por ejemplo ubicarla abajo*/
6 /*no lo podras hacer y te daría un error, ya que las funciones*/
7 /*se declaran antes del main*/
float promedio(int valores[], int cantidad) {
8     int i;
9     float suma = 0.0;
1  
0     /*El ciclo for cuenta el número de notas que desea promediar*/
1     for (i = 0; i < cantidad; ++i)
1         suma += valores[i];/*Suma las notas ingresadas*/
1  
    return suma / (float) cantidad;/*La suma total de notas entre la
2 cantidad de notas*/
1 }
3  
1 int main() {
4  
1     /*Se declaran las variables y se establece un espacio*/
5     int notas[10];
    char nombre[20];
1     char opcion[3];
6     int n, i;
1  
7     /*Se inicia la sentencia do while*/
1     do{
        /*Se piden los datos para que ingrese el usuario*/
8         cout<<"Escriba el nombre del alumno: ";
1         cin>> nombre;
9  
2         cout<<"Cuantas notas tiene "<<nombre<<"? ";
0         cin>> n;
2  
1         /*ciclo for te pide en pantalla las notas, según la cantidad
que ingresastes*/
2         for (i = 0; i < n; ++i) {
2             cout<<"  Nota "<< i + 1<<": ";
2             cin>> notas[i];
3         }
2  
4         /*Llamas a la función promedio y le das los parámetros y te
muestra el resultado*/
2         cout<<"El promedio de "<<nombre<<" es: "<< promedio(notas,
5 n)<<"\n";
2  
6         /*Te pide si deseas seguir calculando promedios que este
2 dato lo almacena opcion*/
        cout<<"Desea calcular mas promedios (si/no)? ";
7         cin>> opcion;
2  
8     }
    /*While es el ciclo que si el usuario ingres s o S el ciclo
2 iniciará una vez más*/
9     /*si el usuario elige No el ciclo se detendra*/
3     while (opcion[0] == 's' || opcion[0] == 'S');
0     return 0;
3 }
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
Ejemplo #3
Calcular el factorial de un número entero positivo (n!). El factorial de 5, 5! = 5 x 4 x 3 x
2 x 1 osea: 5! = 120 
?
1
2
3
4
5
6
7
8 #include <iostream>
9 #include <windows.h>
using namespace std;
1 6
0 int main(void){
1     /*Declaro las variables*/
1     int i=0, fact=1, n=0;
1  
    cout<<"Escriba el numero para calcular el Factorial: ";
2     cin>> n;
1  
3     /*Un for que multiplica el factorial de un número*/
1     for (i=1;i<=n;++i){
4        fact=fact*i;
1     }
5  
    /*Muestra el resultado en pantalla*/
1     cout<<"El Factorial de "<<n <<" es "<<fact<<"\n";
6     system("pause");
1 }
7
1
8
1
9
2
0
Ejercicio #4
Desarrolle una estructura que guarde los datos de "N" alumnos de la materia de
Estructuras de Datos, y los muestres por pantalla, la estructura debe tener (cedula,
nombre, apellido, edad, profesión, lugar de nacimiento, dirección y teléfono).  
?
1 #include <iostream>
2 #include <windows.h>
#define max 100 /*Constante*/
3 using namespace std;
4  
5 int main(void){
6     /*Declara las variables para los ciclo for*/
    int i = 0, n = 0;
7
8  
    /*Declara estructura persona*/
9     struct persona{
1         char cedula[14];
0         char nombre[15];
1         char apellido[15];
        int edad;
1         char profesion[20];
1         char lugar[50];
2         char direccion[50];
1         int telefono;
3     };
    /*Declara alumno, arreglo de la estructura persona*/
1     struct persona alumno[max];
4  
1     /*Se pide cuantos registros de alumnos se guardaran*/
5     cout<<"Cuantos datos desea introducir?/n";
1     cin>> n;
6  
    /*Ciclo for que va a recorrer según la cantidad escrita
1 anteriormente*/
7     for (i = 0; i < n; i++){
1         cout<<"\nEscriba la Cedula "<< i+1<<":";
8         cin>> alumno[i].cedula;
1    
9         cout<<"\nEscriba el Nombre "<< i+1<<":";
        cin>> alumno[i].nombre;
2
   
0         cout<<"\nEscriba el Apellido "<< i+1<<":";
2         cin>> alumno[i].apellido;
1  
2         cout<<"\nEscriba la Edad de "<< i+1<<":";
2         cin>> alumno[i].edad;
2    
3         cout<<"\nEscriba la Profesion de "<< i+1<<":";
        cin>> alumno[i].profesion;
2
   
4         cout<<"\nEscriba el Lugar de Nacimiento de "<< i+1<<":";
2         cin>> alumno[i].lugar;
5    
2         cout<<"\nEscriba la Direccion de "<< i+1<<":";
6         cin>> alumno[i].direccion;
2    
7         cout<<"\nEscriba el Telefono de "<< i+1<<":";
        cin>> alumno[i].telefono;
2     }
8  
2     cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n";
9  
3     /*Ciclo for que muestra el listado de registro ingresados*/
0     for (i = 0; i < n; i++){
3         /*Se llama al arreglo alumno seguido de la variable cedula*/
        cout<< alumno[i].cedula;
1         cout<<"\t"<<alumno[i].nombre;
3         cout<<"\t"<<alumno[i].apellido;
2         cout<<"\t"<<alumno[i].edad;
3         cout<<"\t"<<alumno[i].profesion;
        cout<<"\t"<<alumno[i].lugar;
3         cout<<"\t"<<alumno[i].direccion;
3         cout<<"\t"<<alumno[i].telefono<<"\n\n";
4    }
3     
5    system("pause");
3 }
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
Ejercicio #5
Escriba un programa que en una estructura guarde los datos de 5 amigos (as) suyos (as)
y los muestre en pantalla, utilizando para ello un arreglo de estructura, la misma
estructura contendrá (Nombre, Apellido, Edad, Sexo, Dirección, y Teléfono).
?
1 #include <iostream>
2 #include <windows.h>
#define max 100 /*Constante*/
3 using namespace std;
4  
5 int main(void){
6     /*Declara las variables para los ciclo for*/
7     int i = 0;
8  
    /*Declara estructura persona*/
9     struct persona{
1         char nombre[15];
0         char apellido[15];
1         int edad;
1         char sexo;
        char direccion[50];
1         int telefono;
2     };
1     /*Declara alumno, arreglo de la estructura persona*/
3     struct persona amigo[max];
1  
4     /*Ciclo for que va a recorrer 5 veces*/
    for (i = 0; i < 5; i++){
1
5  
        cout<<"\nEscriba el Nombre "<< i+1<<":";
1         cin>> amigo[i].nombre;
6  
1         cout<<"\nEscriba el Apellido "<< i+1<<":";
7         cin>> amigo[i].apellido;
1  
8         cout<<"\nEscriba la Edad de "<< i+1<<":";
        cin>> amigo[i].edad;
1
9  
        cout<<"\nEscriba el sexo "<< i+1<<":";
2         cin>> amigo[i].sexo;
0  
2         cout<<"\nEscriba la Direccion de "<< i+1<<":";
1         cin>> amigo[i].direccion;
2  
2         cout<<"\nEscriba el Telefono de "<< i+1<<":";
        cin>> amigo[i].telefono;
2     }
3  
2     cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n";
4  
2     /*Ciclo for que muestra el listado de 5 registro ingresados*/
5     for (i = 0; i < 5; i++){
        /*Se llama al arreglo amigo seguido de la variable*/
2         cout<<"\t"<<amigo[i].nombre;
6         cout<<"\t"<<amigo[i].apellido;
2         cout<<"\t"<<amigo[i].edad;
7         cout<<"\t"<<amigo[i].sexo;
2         cout<<"\t"<<amigo[i].direccion;
        cout<<"\t"<<amigo[i].telefono<<"\n\n";
8    }
2  
9    system("pause");
3 }
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8

Comprobar si un año es bisiesto


Programa C++ que lee por teclado un año y comprueba si es bisiesto. Un año es
bisiesto si cumple lo siguiente: es divisible por 4 y no lo es por 100 ó si es divisible
por 400.
Esta condición en C++ la escribiremos así:
if(a%4==0 and a%100!=0 or a%400==0)
Para saber si un número es divisible por otro se utiliza el operador % que obtiene el
resto de la división entre dos enteros.
Por ejemplo, si a%4 == 0 significa que a es divisible por 4, es decir, el resto de
dividir a entre 4 es cero.
El programa pide que se introduzca el año mostrando el mensaje
Introduce año:
Pero para mostrar el mensaje “Introduce año”: y que salga la ñ por pantalla
debemos escribir en el lugar donde debe aparecer la ñ su código ASCII.

// Programa que lee un año y muestra si es o no bisiesto


#include <iostream>
using namespace std;
int main()
{
int anio;

//lectura por teclado del año


cout<<"Introduce a"<<(char)164<<"o: "; //164 ascii de ñ
cin >> anio;

if(a%4==0 and a%100!=0 or a%400==0) //Condición de


bisiesto
cout << "Bisiesto" << endl;
else
cout << "No es bisiesto" << endl;

system("pause");
}

Pasar de decimal a binario en C++


Programa C++ para pasar de decimal a binario. El programa pide un número por
teclado en base decimal y calcula y muestra su equivalente en binario.

//Pasar de decimal a binario en C++


#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int numero, exp, digito;
double binario;
cout << "Introduce numero: ";
cin >> numero;
exp=0;
binario=0;
while(numero/2!=0)
{
digito = numero % 2;
binario = binario + digito * pow(10.0,exp);
exp++;
numero=numero/2;
}
binario = binario + numero * pow(10.0,exp);
cout << fixed << setprecision(0);
cout << "binario: " << binario << endl;
system("pause");
}

Pasar de binario a decimal en C++

//Pasar de binario a decimal en C++


#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int exp,digito;
double binario, decimal;
cout << "Introduce numero: ";
cin >> binario;
exp=0;
decimal=0;
while(((int)(binario/10))!=0)
{
digito = (int)binario % 10;
decimal = decimal + digito * pow(2.0,exp);
exp++;
binario=(int)(binario/10);
}
decimal=decimal + binario * pow(2.0,exp);
cout << endl << "Decimal: " << decimal << endl;
system("pause");
}
Fibonacci en C++
Programa C++ que calcula la serie de Fibonacci. La serie se define de la siguiente
forma:
Los dos primeros términos son 1, 1
El resto de términos se calculan como la suma de los dos anteriores:
1, 1, 2, 3, 5, 8, 13, 21, 34, …..
El programa muestra los N primeros términos de la serie de Fibonacci. El valor de N
se pide por teclado.

//N primeros términos de la serie de fibonacci


#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int numero,fibo1,fibo2,i;
do
{
cout << "Introduce numero mayor que 1: ";
cin >> numero;
}while(numero<=1);
cout << endl;
cout << "Los " << numero << " primeros numeros de la serie de Fibonacci son:" << endl;
fibo1=1;
fibo2=1;
cout << fibo1 << " ";
for(i=2;i<=numero;i++)
{
cout << fibo2 << " ";
fibo2 = fibo1 + fibo2;
fibo1 = fibo2 - fibo1;
}
cout << endl << endl;
system("pause");
}

Ejemplos de Recursividad C++ Multiplicar dos numeros enteros

#include <iostream>
using namespace std;
int producto(int, int);
int main()
{
int n1,n2,p;

cout << "Introduzca primer numero: ";


cin >> n1;
cout << "Introduzca segundo numero: ";
cin >> n2;
p=producto(n1,n2);
cout << "producto: " << p << endl;
system("pause");

int producto(int a, int b)


{
if(a==0 or b==0)
return 0;
else
{
return a+producto(a,b-1);
}
}

Punteros en C++

Ejercicios Resueltos de Punteros en C++. Función que calcula el número


de vocales de una cadena

#include <iostream>
using namespace std;

int cuenta_vocales(char *);

int main()
{
char cadena[80];
cout << "Introduce cadena: ";
cin.getline(cadena, 80);
//en la llamada a la funcion se envía
//el array de caracteres
cout << "Numero de vocales: " << cuenta_vocales(cadena) << endl;
system("pause");
}

int cuenta_vocales(char *s) //s contiene la direccion de inicio del array de caracteres
{
int cont=0;
while(*s) //mientras no llegue al nulo
{
switch(toupper(*s)) //toupper pasa el carácter a mayúsculas para hacer la
comprobación.
{ //el carácter original no se modifica.
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': cont++;
}
s++;
}
return cont;
}

Ejercicios Resueltos de Punteros en C++. Función que calcula y devuelve


la media de un vector de enteros.
Función que calcula y devuelve la media aritmética de un vector de 10 elementos
numéricos enteros, utilizando un puntero a dicho vector. 

La función recibe un puntero con la dirección de memoria donde se encuentra el


vector y calcula y devuelve la media de los 10 valores.

#include <iostream>
using namespace std;
const int ELEM = 10;
float media(int *); //funcion que recibe un puntero a int y devuelve un float
int main()
{
int a[ELEM];
int i;
for(i=0;i<ELEM;i++)
{
cout << "Introduce elemento " << i+1 << " del array: ";
cin >> a[i];
}
cout << "Media: " << media(a) << endl; //en la llamada a la funcion se le envía el
array
system("pause");
}
//función para calcular la media
float media(int *v) //v contiene la direccion de inicio del array
{
float media=0;
int i;
for(i=0;i<ELEM;i++)
{
media = media + *v; //se acumula en media la suma de todos los elementos
v++; //siguiente elmento del array
// las dos instrucciones anteriores se pueden escribir en una sola:
//media = media + *v++;

}
return media/ELEM;
}

C++ Ejercicios de Punteros Resueltos. Unir dos cadenas de caracteres

Función C++ que concatena dos cadenas de caracteres.


La función recibe dos punteros con las direcciones de inicio de ambas cadenas y
añade la segunda cadena al final de la primera. Supondremos que la primera
cadena tiene espacio suficiente para poder añadirle la segunda.

El prototipo de la función es:


void concatena(char *a, char *b);

#include <iostream>

using namespace std;

void concatena(char *, char *);


int main ()

char cadena[100],cadena2[25];

cout << "Escriba una cadena de caracteres ";

cin.getline(cadena,80);

cout << "Escriba otra cadena ";

cin.getline(cadena2,80);

concatena(cadena,cadena2);

cout << cadena << endl;

system("pause");

void concatena(char *a, char *b) //añade la segunda cadena al final de la primera

while(*a)

a++; //llevamos el puntero hasta el final de la primera cadena

while(*b) //mientras no lleguemos al final de la segunda cadena

*a=*b; //copiamos el caracter

a++; //siguiente posición de la primera cadena

b++; //siguiente posición de la segunda cadena

*a='\0'; //añadimos el nulo al final

Realice un programa en C:
1. Que muestre un saludo por pantalla, utilizar un procedimiento.
2. Que mediante una función calcule el cuadrado de un número cualquiera y lo
muestre en pantalla.
3. Que muestre por pantalla los números del 1 al 100, utilizar recursividad.
4. Que realice la media de dos números, utilizar una función.
5. Que mediante un procedimiento calcule el cuadrado de un número cualquiera y
lo muestre en pantalla.
6. Que pida un nombre, un apellido y un lugar y a raíz de ahí muestre en pantalla
una pequeña historia, se debe usar un procedimiento.
7. Que muestre un menú con las opciones sumar, restar, multiplicar y dividir, el
programa solicitará una opción y realizará la tarea elegida, se debe usar un
procedimiento para mostrar el menú, pedir los datos en el main y después usar
funciones para realizar los cálculos.
8. Que pida por pantalla un número del 1 al 10 y mediante un procedimiento
muestre por pantalla el número escrito en letras.
9. Que mediante procedimientos y funciones realice las operaciones básicas con
arrays de ordenar por el método de la burbuja y buscar mediante una búsqueda
binaria o dicotómica.
10. Que pida por pantalla una temperatura en grados Celsius, muestre un menú para
convertirlos a Fahrenheit o Kelvin y muestre el equivalente por pantalla, utilizar
funciones.
11. Que muestre por pantalla si un número es par o impar, utilizar una función.
12. Que rellene un array de 20 enteros, utilizar un procedimiento.
13. Que muestre el contenido del array anterior mediante un procedimiento.
14. Que muestre una tabla de multiplicar de un número cualquiera por pantalla, el
número se pedirá en el programa principal.
15. Que muestre 3 números ordenados de ascendentemente y descendentemente,
utilizar un procedimiento para cada operación.
16. Que verifique que un carácter introducido es un número, utilizar funciones.
17. Que transforme un número del 0 al 999 a números romanos, utilizar funciones.
18. Que gestione un array de 20 alumnos con sus códigos, nombres, apellidos,
direcciones, teléfonos, correos. Las operaciones posibles son insertar, modificar,
borrar, buscar y ordenar array. Se deben utilizar funciones.
19. Que se encargue de encriptar un mensaje, para ello se sumará 2 al código ASCII
del carácter. Usar funciones.
20. Que desencripte el mensaje anterior.
21. Que eleve un número cualquiera a una potencia cualquiera, mostrar en pantalla
el resultado, se debe utilizar la recursividad.
22. Que detecte si un número es primo, utilizar recursividad.
23. Que realice los diferentes métodos de ordenación de arrays utilizando las
funciones:

● Relleno de un array.
● Copia un array a otro.
● Mostrar en pantalla todos los valores.
● Ordenar por burbuja.
● Ordenar por selección.
● Ordenar por inserción.
● Ordenar por quick sort.
24. Que implemente la lógica de un juego de adivinar un número, para ello se
seguirán las siguientes instrucciones:

a. Los números se almacenarán en un array de 10 posiciones.


b. Uno de los jugadores debe introducir dichos números.
c. El otro jugador debe adivinar el número escribiéndolo por pantalla, el
programa le dirá si el número secreto es mayor o menor al introducido.
d. En caso de acertar se mostrará por pantalla una felicitación y el número
de intentos realizados.

24. Que gestione un restaurante, para ello se seguirán las siguientes instrucciones:

a. El restaurante dispone de una carta de 10 comidas, de las cuales debemos


saber el nombre, el precio de venta y el tipo de comida que es (aperitivo,
carne, pescado, postre).
b. Se debe poder añadir, modificar o eliminar cualquier plato de la carta.
c. Cuando se realiza un pedido se introducirán los platos requeridos y al
final se mostrará por pantalla el precio total.
d. Cuando se cierra el restaurante el programa mostrará por pantalla el
dinero total ganado

25 EJERCICIOS RESUELTOS DE ESTRUCTURAS CONDICIONALES EN C


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

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

int main(void)
{
            int i;
            printf("Introduzca número del 1 al 5:");
    scanf("%d",&i);

    if (i!=4) {
       printf("Es primo.");
    }
    else
    {
       printf("No es primo.");
    }

    system("PAUSE");     
    return 0;
}

2.      Que pida un número y diga si es par o impar.

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

int main(void)
{
            int i;
            printf("Introduzca número:");
    scanf("%d",&i);

    if (i%2==0) {
       printf("Es par.");
    }
    else
    {
       printf("Es impar.");
    }

    system("PAUSE");     
    return 0;
}

3.      Que pida un número del 1 al 7 y diga el día de la semana correspondiente.

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

int main(void)
{
            int i;
            printf("Introduzca número del 1 al 7:");
    scanf("%d",&i);
    switch(i){
              case 1:
                   printf ("Lunes\n");
                   break;
              case 2:
                   printf ("Martes\n");
                   break;
              case 3:
                   printf ("Miércoles\n");
                   break;
              case 4:
                   printf ("Jueves\n");
                   break;
              case 5:
                   printf ("Viernes\n");
                   break;
              case 6:
                   printf ("Sábado\n");
                   break;
              case 7:
                   printf ("Domingo\n");
                   break;
              default:
                   printf ("Opción no válida\n");
                   break;
    }

    system("PAUSE");     
    return 0;
}

4.      Que pida un número del 1 al 12 y diga el nombre del mes correspondiente.

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

int main(void)
{
            int i;
            printf("Introduzca número del 1 al 12:");
    scanf("%d",&i);

    switch(i){
              case 1:
                   printf ("Enero\n");
                   break;
              case 2:
                   printf ("Febrero\n");
                   break;
              case 3:
                   printf ("Marzo\n");
                   break;
              case 4:
                   printf ("Abril\n");
                   break;
              case 5:
                   printf ("Mayo\n");
                   break;
              case 6:
                   printf ("Junio\n");
                   break;
              case 7:
                   printf ("Julio\n");
                   break;
              case 8:
                   printf ("Agosto\n");
                   break;
              case 9:
                   printf ("Septiembre\n");
                   break;
              case 10:
                   printf ("Octubre\n");
                   break;
              case 11:
                   printf ("Noviembre\n");
                   break;
              case 12:
                   printf ("Diciembre\n");
                   break;
              default:
                   printf ("Opción no válida\n");
                   break;
    }

    system("PAUSE");     
    return 0;
}

5.      Que pida 3 números y los muestre en pantalla de menor a mayor.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);
            printf("Introduzca número 2:");
    scanf("%d",&num2);

            printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1<num2 && num1<num3)


    {
       if (num2<num3)
       {
        printf("%d",num1);
        printf("%d",num2);
        printf("%d",num3);
       }
       else
       {
        printf("%d",num1);
        printf("%d",num3);
        printf("%d",num2);
       }
    }
    else if (num2<num1 && num2<num3)
    {
       if (num1<num3)
       {
        printf("%d",num2);
        printf("%d",num1);
        printf("%d",num3);
       }
       else
       {
        printf("%d",num2);
        printf("%d",num3);
        printf("%d",num1);
       }
    }
    else if (num3<num1 && num3<num2)
    {
       if (num1<num2)
       {
        printf("%d",num3);
        printf("%d",num1);
        printf("%d",num2);
       }
       else
       {
        printf("%d",num3);
        printf("%d",num2);
        printf("%d",num1);
       }
    }
   
    system("PAUSE");     
    return 0;
}

6.      Que pida 3 números y los muestre en pantalla de mayor a menor.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);

            printf("Introduzca número 2:");


    scanf("%d",&num2);

            printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1>num2 && num1>num3)


    {
       if (num2>num3)
       {
        printf("%d",num1);
        printf("%d",num2);
        printf("%d",num3);
       }
       else
       {
        printf("%d",num1);
        printf("%d",num3);
        printf("%d",num2);
       }
    }
    else if (num2>num1 && num2>num3)
    {
       if (num1>num3)
       {
        printf("%d",num2);
        printf("%d",num1);
        printf("%d",num3);
       }
       else
       {
        printf("%d",num2);
        printf("%d",num3);
        printf("%d",num1);
       }
    }
    else if (num3>num1 && num3>num2)
    {
       if (num1>num2)
       {
        printf("%d",num3);
        printf("%d",num1);
        printf("%d",num2);
       }
       else
       {
        printf("%d",num3);
        printf("%d",num2);
        printf("%d",num1);
       }
    }
   
    system("PAUSE");     
    return 0;
}

7.      Que pida 3 números y los muestre en pantalla de mayor a menor en líneas
distintas. En caso de haber números iguales se pintan en la misma línea.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);

            printf("Introduzca número 2:");


    scanf("%d",&num2);

            printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1>num2 && num1>num3)


    {
       if (num2>num3)
       {
        printf("%d\n",num1);
        printf("%d\n",num2);
        printf("%d\n",num3);
       }
       else if (num3>num2)
       {
        printf("%d\n",num1);
        printf("%d\n",num3);
        printf("%d\n",num2);
       }
       else
       {
        printf("%d\n",num1);
        printf("%d",num3);
        printf("%d\n",num2);
       }
    }
    else if (num2>num1 && num2>num3)
    {
       if (num1>num3)
       {
        printf("%d\n",num2);
        printf("%d\n",num1);
        printf("%d\n",num3);
       }
       else if (num3>num1)
       {
        printf("%d\n",num2);
        printf("%d\n",num3);
        printf("%d\n",num1);
       }      
       else
       {
        printf("%d\n",num2);
        printf("%d",num3);
        printf("%d\n",num1);
       }
    }
    else if (num3>num1 && num3>num2)
    {
       if (num1>num2)
       {
        printf("%d\n",num3);
        printf("%d\n",num1);
        printf("%d\n",num2);
       }
       else if (num2>num1)
       {
        printf("%d\n",num3);
        printf("%d\n",num2);
        printf("%d\n",num1);
       }
       else
       {
        printf("%d\n",num3);
        printf("%d",num2);
        printf("%d\n",num1);
       }
    }
    else
    {
        printf("%d",num1);
        printf("%d",num2);
        printf("%d",num3);
    }
   
    system("PAUSE");     
    return 0;
}

8.      Que pida un número y diga si es positivo o negativo.

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

int main(void)
{
            int num1;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);
   
    if (num1>0){
       printf("Es positivo\n");
    }
    else if (num1<0){
       printf("Es negativo\n");
    }   
    else
    {
        printf("Es cero\n");
    }
   
    system("PAUSE");     
    return 0;
}

9.      Que sólo permita introducir los caracteres S y N.

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

int main(void)
{
            char c;
           
            printf("Introduzca un carácter:");
                scanf("%c",&c);
   
if (c=='s' || c=='n' ){
                        printf("Es correcto\n");
            }
            else
{
                        printf("Es incorrecto\n");
}
   
system("PAUSE");      
return 0;
}

10.  Que pida un número y diga si es mayor de 100.

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

int main(void)
{
            int num1;
           
            printf("Introduzca un número:");
    scanf("%d",&num1);
   
    if (num1>100){
       printf("Es mayor\n");
    }
    else
    {
       printf("Es menor\n");
    }
   
    system("PAUSE");     
    return 0;
}

11.  Que pida una letra y detecte si es una vocal.

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

int main(void)
{
            char c;
           
            printf("Introduzca un carácter:");
    scanf("%c",&c);
   
    switch (c)
    {
           case 'a':
                printf ("Es vocal\n");
                break;
           case 'e':
                printf ("Es vocal\n");
                break;
           case 'i':
                printf ("Es vocal\n");
                break;
           case 'o':
                printf ("Es vocal\n");
                break;
           case 'u': 
                printf ("Es vocal\n");
                break;             
           default:
                printf ("No es vocal\n");
                break;
    }
   
    system("PAUSE");     
    return 0;
}

12.  Que pida tres números y detecte si se han introducido en orden creciente.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);

            printf("Introduzca número 2:");


    scanf("%d",&num2);

            printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1<num2)
    {
       if (num2<num3)
       {
        printf("Orden creciente");
       }
       else
       {
           printf("No están introducidos en orden creciente ");
           }
    }
    else
    {
           printf("No están introducidos en orden creciente ");
    }
   
    system("PAUSE");     
    return 0;
}

13.  Que pida tres números y detecte si se han introducido en orden decreciente.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);

            printf("Introduzca número 2:");


    scanf("%d",&num2);

            printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1>num2)
    {
       if (num2>num3)
       {
        printf("Orden decreciente");
       }
       else
       {
           printf("No están introducidos en orden decreciente ");
           }
    }
    else
    {
           printf("No están introducidos en orden decreciente ");
    }
   
    system("PAUSE");     
    return 0;
}

14.  Que pida 10 números y diga cuál es el mayor y cual el menor.

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

int main(void)
{
            int
num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,mayor,menor;
           
            mayor=0;
            menor=10;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);

    if (num1>mayor)
    {
       mayor=num1;
    }
    else if (num1<menor)
    {
       menor=num1;
    }

            printf("Introduzca número 2:");


    scanf("%d",&num2);

    if (num2>mayor)
    {
       mayor=num2;
    }
    else if (num2<menor)
    {
       menor=num2;
    }
   
    printf("Introduzca número 3:");
    scanf("%d",&num3);

    if (num3>mayor)
    {
       mayor=num3;
    }
    else if (num3<menor)
    {
       menor=num3;
    }
   
    printf("Introduzca número 4:");
    scanf("%d",&num4);

    if (num4>mayor)
    {
       mayor=num4;
    }
    else if (num4<menor)
    {
       menor=num4;
    }

    printf("Introduzca número 5:");


    scanf("%d",&num5);

    if (num5>mayor)
    {
       mayor=num5;
    }
    else if (num5<menor)
    {
       menor=num5;
    }
   
    printf("Introduzca número 6:");
    scanf("%d",&num6);

    if (num6>mayor)
    {
       mayor=num6;
    }
    else if (num6<menor)
    {
       menor=num6;
    }
   
    printf("Introduzca número 7:");
    scanf("%d",&num7);

    if (num7>mayor)
    {
       mayor=num7;
    }
    else if (num7<menor)
    {
       menor=num7;
    }
   
    printf("Introduzca número 8:");
    scanf("%d",&num8);

    if (num8>mayor)
    {
       mayor=num8;
    }
    else if (num8<menor)
    {
       menor=num8;
    }
   
    printf("Introduzca número 9:");
    scanf("%d",&num9);

    if (num9>mayor)
    {
       mayor=num9;
    }
    else if (num9<menor)
    {
       menor=num9;
    }
   
    printf("Introduzca número 10:");
    scanf("%d",&num10);

    if (num10>mayor)
    {
       mayor=num10;
    }
    else if (num10<menor)
    {
       menor=num10;
    }

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


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

    system("PAUSE");     
    return 0;
}

15.  Que pida tres números e indicar si el tercero es igual a la suma del primero y el
segundo.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);
   
    printf("Introduzca número 2:");
    scanf("%d",&num2);

    printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1+num2==num3)
    {
         printf("El tercer número es la suma de los dos primeros.\n");
    }
    else
    {
         printf("El tercer número NO es la suma de los dos primeros.\n");       
    }

    system("PAUSE");     
    return 0;
}

16.  Que muestre un menú que contemple las opciones “Archivo”, “Buscar” y “Salir”,
en caso de que no se introduzca una opción correcta se notificará por pantalla.

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

int main(void)
{
            int opcion;
     printf("Seleccione opción:\n");
     printf("1 - Archivo\n");
     printf("2 - Buscar\n");
     printf("3 - Salir\n");
    
     scanf("%d",&opcion);

     if (opcion!=1 && opcion!=2 && opcion!=3)


     {
         printf("La opción NO es correcta.\n");
     }
     else
     {
         printf("La opción es correcta.\n");
     }                  

system("PAUSE");     
return 0;
}

17.  Que tome dos números del 1 al 5 y diga si ambos son primos.

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

int main(void)
{
            int num1,num2;
            printf("Introduzca número del 1 al 5:");
    scanf("%d",&num1);

            printf("Introduzca número del 1 al 5:");


    scanf("%d",&num2);

    if (num1!=4 && num2!=4) {


       printf("Ambos son primos.\n");
    }
    else
    {
       printf("Los números, o uno de ellos, no son primos.\n");
    }

    system("PAUSE");     
    return 0;
}

18.  Que tome dos números y diga si ambos son pares o impares.

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

int main(void)
{
            int num1,num2;
            printf("Introduzca primer número:");
    scanf("%d",&num1);

            printf("Introduzca segundo número:");


    scanf("%d",&num2);

    if (num1%2==0 && num2%2==0) {


       printf("Ambos son pares.\n");
    }
    else
    {
       printf("Los números, o uno de ellos, no son pares.\n");
    }

    system("PAUSE");     
    return 0;
}

19.  Que tome tres números y diga si la multiplicación de los dos primeros es igual al
tercero.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);
   
    printf("Introduzca número 2:");
    scanf("%d",&num2);

    printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1*num2==num3)
    {
         printf("El tercer número es la multiplicación de los dos primeros.\n");
    }
    else
    {
         printf("El tercer número NO es la multiplicación de los dos primeros.\n");       
    }

    system("PAUSE");     
    return 0;
}

20.  Que tome tres números y diga si el tercero es el resto de la división de los dos
primeros.

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

int main(void)
{
            int num1,num2,num3;
           
            printf("Introduzca número 1:");
    scanf("%d",&num1);
   
    printf("Introduzca número 2:");
    scanf("%d",&num2);

    printf("Introduzca número 3:");


    scanf("%d",&num3);

    if (num1%num2==num3)
    {
         printf("El tercer número es el resto de la división de los dos primeros.\n");
    }
    else
    {
         printf("El tercer número NO es el resto de la división de los dos primeros.\n");       
    }

    system("PAUSE");     
    return 0;
}

21.  Que muestre un menú donde las opciones sean “Equilátero”, “Isósceles” y
“Escaleno”, pida una opción y calcule el perímetro del triángulo seleccionado.

Sirva de aclaración que el perímetro de un triángulo es siempre la suma de sus lados,


pero he preferido hacerlo así para ver las tres formas diferentes de calcularlo.

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

int main(void)
{
             int lado, base, opcion;
           
             printf("Introduzca lado del triángulo:");
 scanf("%d",&lado);
 printf("Introduzca base del triángulo:");
 scanf("%d",&base);
           
 printf("Seleccione opción:\n");
 printf("1 - Equilátero\n");
 printf("2 - Isósceles\n");
 printf("3 - Escaleno\n");
    
 scanf("%d",&opcion);

 switch (opcion)
 {
            case 1:
                 printf("El perímetro es:%d\n",3*lado);
                 break;
            case 2:
                 printf("El perímetro es:%d\n",(2*lado)+base);
                 break;
            case 3:
                 printf("El perímetro es:%d\n",lado + lado + lado);
                 break;
            default:
            printf("Opción no válida.");
            break;
}
    
system("PAUSE");     
return 0;
}

22.  Que pase de Kg a otra unidad de medida de masa, mostrar en pantalla un menú
con las opciones posibles.

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

int main(void)
{
             int peso;
           
             printf("Introduzca peso en kilogramos:");
     scanf("%d",&peso);
           
     printf("Seleccione opción:\n");
     printf("1 - Hectogramos\n");
     printf("2 - Decagramos\n");
     printf("3 - Gramos\n");
     printf("4 - Decigramos\n");
     printf("5 - Centigramos\n");
     printf("6 - Miligramos\n");
    
     scanf("%d",&opcion);

     switch (opcion)


     {
            case 1:
                 printf("El peso es:%d\n",peso/10);
                 break;
            case 2:
                 printf("El peso es:%d\n",peso/100);
                 break;
            case 3:
                 printf("El peso es:%d\n",peso/1000);
                 break;
            case 4:
                 printf("El peso es:%d\n",peso/10000);
                 break;
            case 5:
                 printf("El peso es:%d\n",peso/100000);
                 break;
            case 6:
                 printf("El peso es:%d\n",peso/1000000);
                 break;
            default:
            printf("Opción no válida.");
            break;
     }
    
system("PAUSE");     
return 0;
}

23.  Que lea un importe bruto y calcule su importe neto, si es mayor de 15.000 se le
aplicará un 16% de impuestos, en caso contrario se le aplicará un 10%.

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

int main(void)
{
            float importe, deduccion;
           
            printf("Introduzca Importe:");
    scanf("%f",&importe);
           
            if (importe>15000)
            {
       deduccion=importe*0.16;
    }
    else
    {
        deduccion=importe*0.1;
    }
    
    printf("El importe neto es %f euros\n",importe-deduccion);
    
    system("PAUSE");     
    return 0;
}

24.  Que lea una hora en hora:minutos:segundos y diga la hora que es un segundo
después.
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int horas, minutos, segundos;
           
            printf("Introduzca Hora:");
    scanf("%d",&horas);
            printf("Introduzca Minutos:");
    scanf("%d",&minutos);
            printf("Introduzca Segundos:");
    scanf("%d",&segundos);
           
            segundos=segundos+1;
           
            if (minutos>59)
            {
       minutos=0;
    }
   
    if (horas>23)
            {
       horas=0;
    }
           
            if (segundos>59)
            {
       segundos=0;
       minutos=minutos+1;
      
       if (minutos>59)
       {
          minutos=0;
          horas=horas+1;
          if (horas>23)
          {
             horas=0;
          }
       }
    }
    
    printf("La hora (un segundo después) es: %02d:%02d:%02d \n", horas, minutos,
segundos);
    
    system("PAUSE");     
    return 0;
}
25.  Que calcule el sueldo que le corresponde al trabajador de una empresa que cobra
40.000 euros anuales, el programa debe realizar los cálculos en función de los
siguientes criterios:

a.       Si lleva más de 10 años en la empresa se le aplica un aumento del 10%.


b.      Si lleva menos de 10 años pero más que 5 se le aplica un aumento del 7%.
c.       Si lleva menos de 5 años pero más que 3 se le aplica un aumento del 5%.
d.      Si lleva menos de 3 años se le aplica un aumento del 3%.

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

int main(void)
{
            float importe, aumento;
            int antiguedad;
           
            importe=40000;
           
            printf("Introduzca la antigüedad del trabajador:");
    scanf("%d",&antiguedad);
           
            if (antiguedad>=10)
            {
       aumento=importe*0.1;
    }
    else if (antiguedad<10 && antiguedad>=5)
            {
       aumento=importe*0.07;
    }
    else if (antiguedad<5 && antiguedad>=3)
            {
       aumento=importe*0.05;
    }
    else
    {
        aumento=importe*0.03;
    }
    
    printf("El sueldo que le corresponde al trabajador es de %f
euros\n",importe+aumento);
    
    system("PAUSE");     
    return 0;
}

¿Qué os parecen los ejercicios?


Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con
Facebook
Quizás también le interese:
25 ejercicios de estructuras de control condicionales en C

25 ejercicios resueltos de estructuras de control ...

25 ejercicios resueltos de arrays y registros en C

25 ejercicios de estructuras de control iterativas en C

Curso básico de C 4/10: Control de flujo, Estructuras ...

Linkwithin

1605
 
102
 
7
 
9
Google +
 
7
 
79.9K
 
Entrada más reciente Entrada antigua Página principal

147 comentarios:

1.

Jorge19 de agosto de 2013, 10:00

Los ejercicios son en su mayoría fáciles, pero muy buenos para familiarizarte
con el lenguaje.

Responder

Respuestas

1.

Pablo Osinaga2 de septiembre de 2017, 21:36

me ayudan con un ejercicio? estacionamiento


en una playa de estacionamiento cobran 20.00 por hora o fraccion los
días lunes martes miércoles, 25.00 los días jueve y viernes, 30.00 los días
sábado y domingo. se considera fracción de hora cuando haya pasado
5min. diseñe un programa que determine cuanto debe pagar un cliente
por su estacionamiento en un solo dia de la semana. si el tiempo
ingresado es incorrecto imprima un mensaje de error.

2.

Juan Manuel Altunar Pascual8 de agosto de 2018, 2:05

Hola a todos alguien que pueda ayudarme con esto. Yo no he podido.


Cuando usted pide un préstamo en un banco o cuando un banco le “pide
prestado” a usted al mantener el dinero en una cuenta de ahorros, quién
pide el préstamo en este caso debe pagar por el privilegio de usar el
dinero. La cuota que se paga se llama interés. El tipo más básico de
interés es el interés simple, que es precisamente un porcentaje anual de la
cantidad solicitada en préstamo o depositada. La cantidad de un préstamo
o depósito se llama principal (P). El porcentaje anual pagado por el uso
de este dinero es la tasa de interés (r). Usando una variable (t) para
representar el número de años que el dinero está en depósito y la variable
(I) para representar el interés total ganado. La fórmula del interés simple
da la cantidad de interés I ganado cuando un principal P es depositado
durante t años a una tasa de interés r. ��ғ� NOTA: La tasa de
interés debe ser convertida a decimales 1. Aplicando las etapas de
análisis, diseño y codificación, diseña un diagrama de flujo y
seudocódigo que realice lo siguiente: a. Solicite un principal, una tasa de
interés y un número de años en los que el principal estará depositado. b.
Muestre la cantidad de interés ganada c. Muestre el total ganado al
finalizar el tiempo de depósito. TOTAL ganado= P+I

3.

Unknown7 de noviembre de 2018, 18:24

Ayudenme con un código de calcular un angulo

4.

Brenda Roque14 de febrero de 2019, 17:12

Hola me podrias ayudar con la programación de este ejercicio solo llevo


la mitad y ya me atore, de plano no le entiendo mucho y tu eres un
master por lo visto.
Quiero que el programa le pida la usuario un numero entre el 1 y el 100,
si el numero dado esta mal le diga al usuario que es incorrecto y salga del
programa,si esta dentro del rango debera mandar a pantalla, el numero
proporcionado pero en letra(por ejemplo si mando 2 dira "el numero
proporcionado es : dos"

Responder
2.

Juan Carlos García Romero28 de agosto de 2013, 19:21

Si, no tienen demasiada complicación, pero espero que cumplan con su objetivo.
Me alegro que te gusten Jorge.

Responder

Respuestas

1.

ildefonso tarazona23 de marzo de 2015, 22:31

hey we me podrías ayudar en el punto 24 que en vez de que corra 1


segundo corra 30 segundos no e podido

((24. Que lea una hora en hora:minutos:segundos y diga la hora que es


un segundo después.))

2.

Marco Baldissone27 de diciembre de 2017, 17:43

//24. Que lea una hora en hora:minutos:segundos y diga la hora que es un


segundo después.

#include
#include

int main(){
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);

char output[128];
char output2[128];
strftime(output, 128, "%d/%m/%y %H:%M:%S", tlocal);
strftime(output2, 128, "%d/%m/%y %H:%M:", tlocal);
printf("Fecha y Hora: %s\n\n",output);
printf("Fecha y Hora: %s",output2);
printf("%d\n\n",tlocal->tm_sec+1);

system ("pause");
return 0;
}
3.

Marco Baldissone27 de diciembre de 2017, 17:43

en esta parte: printf("%d\n\n",tlocal->tm_sec+1);


dejala asi: printf("%d\n\n",tlocal->tm_sec+30);
y listo

4.

Teresa Lara Palma27 de junio de 2018, 22:12

Hola soy Teresa Lara estoy intentando aprender el programa c++ pero al
digitar el ejercicio siempre me aparece un error.
[build error] [main.o] Error-1073741819, no se si es al descargar el
archivo y oa ejecutarlo, gracias,

Responder

3.

Marcos Adrian Martinez Flores20 de octubre de 2013, 1:00

Como puedo hacer que el programa me diga las veces que se introdujo cada
dato, por ejemplo, de "n" numero de calificaciones me diga cuantos "10" hay,
cuantos "9" hay, y asi sucesivamente

Responder

Respuestas

1.

Carlos Daniel Galvez Barrios25 de noviembre de 2013, 4:38

Eso se lo haces mas fácil con vectores.....


y estructura repetitiva... pasa por mi correo cdg.light@gmail.com y
muestrame tu ejercicio...
veree si me recuerdoo, te lo resulevooo ;)

2.

Evans_ Helion20 de febrero de 2015, 19:45


Aca esta el codigo, espero te sirva:

#include
#include
int c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,i,n;
main(void){

//Dimencion del vector//


printf("\nIngrese el numero de notas que desea calcular\n");
scanf("%d",&n);
int v[n];
for(i=1;i<=n;i++){

//validadcion de notas//
do{

printf("\nIngrese las notas, recuerde deben ser de 1 a 10\n");


printf("\nNota Numero: %d\n",i);
scanf("%d",&v[i]);
fflush(stdin);

if(v[i]<1||v[i]>10){
printf("\nNota fuera de rango, vuelva a intentarlo\n");
}

//contador de notas//
switch(v[i]){

case 1:
if(v[i]==1){
c1++;
}
break;
case 2:
if(v[i]==2){
c2++;

}
break;
case 3:
if(v[i]==3){
c3++;

}
break;

case 4:
if(v[i]==4){
c4++;
}
break;

case 5:
if(v[i]==5){
c5++;

}
break;

case 6:
if(v[i]==6){
c6++;

}
break;

case 7:
if(v[i]==7){
c7++;

}
break;

case 8:
if(v[i]==8){
c8++;

}
break;

case 9:
if(v[i]==9){
c9++;

}
break;

case 10:
if(v[i]==10){
c10++;

}
break;

default:
break;
}
}while(v[i]<1||v[i]>10);
}

printf("\nAhora la clasificacion de notas: \n");

system("pause");

printf("\nLa cantidad de notas iguales a 1 ingresadas son: %d\n",c1);


printf("\nLa cantidad de notas iguales a 2 ingresadas son: %d\n",c2);
printf("\nLa cantidad de notas iguales a 3 ingresadas son: %d\n",c3);
printf("\nLa cantidad de notas iguales a 4 ingresadas son: %d\n",c4);
printf("\nLa cantidad de notas iguales a 5 ingresadas son: %d\n",c5);
printf("\nLa cantidad de notas iguales a 6 ingresadas son: %d\n",c6);
printf("\nLa cantidad de notas iguales a 7 ingresadas son: %d\n",c7);
printf("\nLa cantidad de notas iguales a 8 ingresadas son: %d\n",c8);
printf("\nLa cantidad de notas iguales a 9 ingresadas son: %d\n",c9);
printf("\nLa cantidad de notas iguales a 10 ingresadas son: %d\n",c10);
puts("");
system("pause");

25 EJERCICIOS RESUELTOS DE ARRAYS Y REGISTRO EN C

1. Que rellene un array con los 100 primeros números enteros y los muestre en
pantalla en orden ascendente.

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

int main(void)
{
            int x,tabla[100];
           
            for (x=1;x<=100;x++)
            {
        tabla[x]=x;
    }
           
            for (x=1;x<=100;x++)
            {
        printf("%d\n",tabla[x]);
    }
           
    system("PAUSE");     
    return 0;
}
2. Que rellene un array con los 100 primeros números enteros y los muestre en
pantalla en orden descendente.

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

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

3. Que rellene un array con los números primos comprendidos entre 1 y 100 y los
muestre en pantalla en orden ascendente.

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

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

4. Que rellene un array con los números pares comprendidos entre 1 y 100 y los
muestre en pantalla en orden ascendente.

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

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

5. Que rellene un array con los números impares comprendidos entre 1 y 100 y los
muestre en pantalla en orden ascendente.

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

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

6. Que lea 10 números por teclado, los almacene en un array y muestre la suma,
resta, multiplicación y división de todos.

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

int main(void)
{
            int x,tabla[10];
            int sum,res,mul,div;
           
            for (x=0;x<10;x++)
            {
        printf("Introduzca número\n");
        scanf("%d",&tabla[x]);
    }
           
            sum=tabla[0];
    res=tabla[0];
    mul=tabla[0];
    div=tabla[0];
           
            for (x=1;x<10;x++)
            {
        sum=sum+tabla[x];
        res=res-tabla[x];
        mul=mul*tabla[x];
        div=div/tabla[x];
    }
           
            printf("Suma: %d\n",sum);
            printf("Resta: %d\n",res);
            printf("Multiplicación: %d\n",mul);
            printf("División: %d\n",div);
           
    system("PAUSE");     
    return 0;
}

7. Que lea 10 números por teclado, los almacene en un array y los ordene de forma
ascendente.

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

int main()
{
  float aux, numeros[10];
  int i,j,n=10;

  for (i=0;i<n;i++){
                    printf("Escriba un número");
                    scanf("%f",&numeros[i]);
      }

  for(i=0;i<n-1;i++)
 {
   for(j=i+1;j<n;j++)
   {
       if(numeros[i]<numeros[j])
       {
           aux=numeros[i];
           numeros[i]=numeros[j];
           numeros[j]=aux;
       }
   }
 }
 
  for (i=n-1;i>=0;i--){
      printf("%f\n",numeros[i]);
 }
     
  system("PAUSE");     
  return 0;
}
8. Que lea 10 números por teclado, 5 para un array y 5 para otro array distinto.
Mostrar los 10 números en pantalla mediante un solo array.

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

int main()
{
  int aux, numeros1[5],numeros2[5],numeros3[10];
  int i,j;

  for (i=0;i<5;i++){
                    printf("Escriba un número");
                    scanf("%d",&numeros1[i]);
      }
     
  for (i=0;i<5;i++){
                    printf("Escriba un número");
                    scanf("%d",&numeros2[i]);
      }
 
 
  for(i=0;i<5;i++)
 {
   numeros3[i]=numeros1[i];
 }
 
  for(i=0;i<5;i++)
 {
   numeros3[5+i]=numeros2[i];
 }
 
  for (i=0;i<10;i++){
      printf("%d\n",numeros3[i]);
 }
     
  system("PAUSE");     
  return 0;
}

9. Que lea 5 números por teclado, los copie a otro array multiplicados por 2 y
muestre el segundo array.

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

int main()
{
  int aux, numeros1[5],numeros2[5];
  int i,j;
  for (i=0;i<5;i++){
                    printf("Escriba un número");
                    scanf("%d",&numeros1[i]);
      }
     
  for(i=0;i<5;i++)
 {
   numeros2[i]=numeros1[i]*2;
 }
 
  for (i=0;i<5;i++){
      printf("%d\n",numeros2[i]);
 }
     
  system("PAUSE");     
  return 0;
}

10. Que lea 5 números por teclado, los copie a otro array multiplicados por 2 y los
muestre todos ordenados usando un tercer array.

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

int main()
{
  int aux, numeros1[5],numeros2[5],numeros3[10];
  int i,j;

  for (i=0;i<5;i++){
                    printf("Escriba un número");
                    scanf("%d",&numeros1[i]);
      }
     
  for(i=0;i<5;i++)
 {
   numeros2[i]=numeros1[i]*2;
 }
 
  for(i=0;i<5;i++)
 {
   numeros3[i]=numeros1[i];
 }
 
  for(i=0;i<5;i++)
 {
   numeros3[5+i]=numeros2[i];
 }
 
  for (i=0;i<10;i++){
      printf("%d\n",numeros3[i]);
 }
     
  system("PAUSE");     
  return 0;
}

11. Que rellene un array con los 100 primeros números pares y muestre su suma.

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

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

12. Que lea 10 números por teclado, los almacene en un array y muestre la media.

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

int main()
{
  float sum, numeros1[10];
  int i;
  sum=0;
  for (i=0;i<10;i++){
                    printf("Escriba un número");
                    scanf("%f",&numeros1[i]);
      }
     
  for(i=0;i<10;i++)
 {
   sum=sum+numeros1[i];
 }
 
  printf("%f\n",sum/10);
     
  system("PAUSE");     
  return 0;
}

13. Que mediante un array almacene números tanto positivos como negativos y los
muestre ordenados.

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

int main()
{
  float aux, numeros[10];
  int i,j,n=10;

  for (i=0;i<n;i++){
                    printf("Escriba un número");
                    scanf("%f",&numeros[i]);
      }

  for(i=0;i<n-1;i++)
 {
   for(j=i+1;j<n;j++)
   {
       if(numeros[i]<numeros[j])
       {
           aux=numeros[i];
           numeros[i]=numeros[j];
           numeros[j]=aux;
       }
   }
 }
 
  for (i=n-1;i>=0;i--){
      printf("%f\n",numeros[i]);
 }
     
  system("PAUSE");     
  return 0;
}

14. Que rellene un array con 20 números y luego busque un número concreto.

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

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


{

    int  i,x=0,vector[20], n=20, dato, centro,inf=0,sup=n-1;


  
    for (i=0;i<20;i++){
        printf("Escriba un número");
        scanf("%d",&vector[i]);
    }
  
    printf("Escriba el número a buscar");
    scanf("%d",&dato);
  
    while(inf<=sup)
    {
     centro=(sup+inf)/2;
     if (vector[centro]==dato)
     {
        printf("Existe\n");
        x=1;
        break;
     } 
     else if(dato < vector [centro] )
     {
        sup=centro-1;
     }
     else
     {
       inf=centro+1;
     }
    }
   
    if (x==0)
    {
       printf("No existe\n");     
    }
  
    system("PAUSE");     
    return 0;

}
15. Que pinte un tablero de ajedrez, los peones con la letra P, las torres con T, los
caballos con C, los alfiles con A, el rey con R y la reina con M.

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

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


{

    int x,y;


   
    for (x=0;x<8;x++)
    {
        for (y=0;y<8;y++)
        {
            //peones
            if (x==1 || x==6)
            {
             printf("P");
            }
            //torres
            else if ((x==0 && y==0) ||
                    (x==7 && y==0) ||
                    (x==0 && y==7) ||
                    (x==7 && y==7)
                    )
            {
             printf("T");
            }
            //caballos
            else if ((x==0 && y==1) ||
                    (x==7 && y==1) ||
                    (x==0 && y==6) ||
                    (x==7 && y==6)
                    )
            {
             printf("C");
            }
            //alfiles
            else if ((x==0 && y==2) ||
                    (x==7 && y==2) ||
                    (x==0 && y==5) ||
                    (x==7 && y==5)
                    )
            {
             printf("A");
            }
            //reina
            else if ((x==0 && y==3) ||
                    (x==7 && y==3)
                    )
            {
             printf("M");
            }
            //rey
            else if ((x==0 && y==4) ||
                    (x==7 && y==4)
                    )
            {
             printf("R");
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
   
    system("PAUSE");     
    return 0;

16. Que muestre los primeros 100 números de izquierda a derecha usando un array
de dos dimensiones.

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

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


{

    int x,y, numeros[10][10];


   
    for (x=0;x<10;x++)
    {
        for (y=0;y<10;y++)
        {
            numeros[x][y]=(x*10)+1+y;
        }
       
    }
   
    for (x=0;x<10;x++)
    {
        for (y=0;y<10;y++)
        {
            printf("%d ",numeros[x][y]);
        }
        printf("\n");
    }
   
    system("PAUSE");     
    return 0;

17. Que muestre los primeros 100 números de izquierda a derecha usando un array
de dos dimensiones, la última fila a mostrará la suma de sus respectivas columnas.

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

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


{

    int x,y,sum, numeros[11][10];


   
    for (y=0;y<10;y++)
    {
        sum=0;
        for (x=0;x<10;x++)
        {
            numeros[x][y]=(x*10)+1+y;
            sum=sum+numeros[x][y];
        }
        numeros[10][y]=sum;
    }
   
    for (x=0;x<11;x++)
    {
        for (y=0;y<10;y++)
        {
            printf("%d ",numeros[x][y]);
        }
        printf("\n");
    }
   
    system("PAUSE");     
    return 0;
}

18. Que rellene un array de dos dimensiones con números pares, lo pinte y después
que pida una posición X,Y y mostrar el número correspondiente.

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{

    int x,y,num=2, numeros[3][3];


   
    for (x=0;x<3;x++)
    {
        for (y=0;y<3;y++)
        {
            numeros[x][y]=num;
            num=num*2;
        }
    }
   
    printf("Introduzca coordenada x: ");
    scanf("%d",&x);
    printf("Introduzca coordenada y: ");
    scanf("%d",&y);
   
    printf("El número es: %d\n",numeros[x][y]);
   
    system("PAUSE");     
    return 0;
}

19. Que rellene una matriz de 3x3 y muestre su traspuesta (la traspuesta se


consigue intercambiando filas por columnas y viceversa).

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

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


{

    int x,y,num=0, numeros[4][4];


   
    for (x=0;x<3;x++)
    {
        for (y=0;y<3;y++)
        {
            numeros[x][y]=num;
            num++;
        }
    }
   
    printf("El array original es: \n\n\n");
   
    for(x = 0;x < 3;x++)
    {
      for(y = 0;y < 3;y++)
      {
          printf("    %d     ", numeros[x][y]);
      }
      printf("\n\n\n");
    }
   
    printf("La traspuesta es: \n\n\n");
   
    for(x = 0;x < 3;x++)
    {
      for(y = 0;y < 3;y++)
      {
          printf("    %d     ", numeros[y][x]);
      }
      printf("\n\n\n");
    }
   
    system("PAUSE");     
    return 0;
}

20. Que lea una cadena y la muestre al revés.

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

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


{

    int indice,x;


    char frase[50];
   
    printf("Introduzca una frase: ");
    gets(frase);
   
    for(x = 0;x < 50;x++)
    {
      if (frase[x]=='\0')
      {
       indice=x;
       break;
      }
    }
   
    printf("La frase al reves es: \n\n");
   
    for(x = indice-1;x >=0;x--)
    {
      printf("%c",frase[x]);
    }
   
    printf("\n\n");
   
    system("PAUSE");     
    return 0;
}

21. Que lea una cadena y diga cuantas vocales hay.

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

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


{

    int sum=0,x;


    char frase[50];
   
    printf("Introduzca una frase: ");
    gets(frase);
   
    for(x = 0;x < 50;x++)
    {
      switch (frase[x])
      {
           case 'a':
                sum++;
                break;
           case 'e':
                sum++;
                break;
           case 'i':
                sum++;
                break;
           case 'o':
                sum++;
                break;
           case 'u':
                sum++;
                break;            
           default:
                break;
      }
     
    }
   
    printf("\n\nEn la frase hay %d vocales\n\n",sum);
   
    printf("\n\n");
   
    system("PAUSE");     
    return 0;
}

22. Que lea una cadena y diga cuantas mayúsculas hay.

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

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


{
    int sum=0,x;
    char frase[50];
   
    printf("Introduzca una frase: ");
    gets(frase);
   
    for(x = 0;x < 50;x++)
    {
      if (frase[x]>=65 && frase[x]<=90)
      {
       sum++;
      }
    }
   
    printf("\n\nEn la frase hay %d mayúsculas\n\n",sum);
   
    printf("\n\n");
   
    system("PAUSE");     
    return 0;
}

23. Que lea una cadena y la encripte sumando 3 al código ASCII de cada carácter.
Mostrar por pantalla.

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

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


{
    int sum=0,x;
    char frase[50];
   
    printf("Introduzca una frase: ");
    gets(frase);
   
    for(x = 0; x < 50;x++)
    {
      if (frase[x]!='\0')
      {
       frase[x]=frase[x]+3;
      }
    }
   
    printf("\n\nLa nueva frase es:\n\n",sum);
    printf("\n\n%s\n\n",frase);
    printf("\n\n");
   
    system("PAUSE");     
    return 0;
}

24. Que gestione los datos de stock de una tienda de comestibles, la información a


recoger será: nombre del producto, precio, cantidad en stock. La tienda dispone de
10 productos distintos. El programa debe ser capaz de:

a. Dar de alta un producto nuevo.


b. Buscar un producto por su nombre.
c. Modificar el stock y precio de un producto dado.

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

struct producto {
    char nombre[50];
    float precio;
    int cantidad;
};

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


{
    struct producto prod,productos[10];
   
    int x,opcion=1;
   
    for (x=0;x<10;x++)
        {
            strcpy(productos[x].nombre,"X");
            productos[x].precio=0;
            productos[x].cantidad=0;
        }
   
    while ((opcion==1 || opcion==2 || opcion==3) && (opcion!=4))
    {
   
        printf("1- Alta de producto\n");
        printf("2- Buscar por nombre\n");
        printf("3- Modificar stock y precio\n");
        printf("4- Salir\n");
        printf("Introduzca una opción: ");
        scanf("%d",&opcion);
               
        if (opcion==1)
        {
           printf("Introduzca un nombre: ");
           gets(prod.nombre);
           gets(prod.nombre);
           printf("Introduzca un precio: ");
           scanf("%f",&prod.precio);
           printf("Introduzca un stock: ");
           scanf("%d",&prod.cantidad);
          
           for(x = 9; x >=0; x--)
           {
            if (x!=0)
            {
                strcpy(productos[x].nombre,productos[x-1].nombre);
                productos[x].precio=productos[x-1].precio;
                productos[x].cantidad=productos[x-1].cantidad;
            }
            else
            {
               strcpy(productos[x].nombre,prod.nombre);
               productos[x].precio=prod.precio;
               productos[x].cantidad=prod.cantidad;
            }
           }
           printf("\nProducto creado. \n\n");
        }
        else if (opcion==2)
        {
           printf("Introduzca un nombre: ");
           gets(prod.nombre);
           gets(prod.nombre);

           for(x = 0; x < 10;x++)


           {
                
             if (strcmp(productos[x].nombre,prod.nombre)==0)
             {
               printf("\nNombre: %s\n",productos[x].nombre);
               printf("Precio: %f\n",productos[x].precio);
               printf("Cantidad en Stock: %d\n",productos[x].cantidad);
             }
           }
           printf("\n\n");
        }
        else if (opcion==3)
        {
           printf("Introduzca un nombre: ");
           gets(prod.nombre);
           gets(prod.nombre);

           for(x = 0; x < 10;x++)


           {
             if (strcmp(productos[x].nombre,prod.nombre)==0)
             {
               printf("Introduzca un precio: ");
               scanf("%f",&productos[x].precio);
               printf("Introduzca un stock: ");
               scanf("%d",&productos[x].cantidad);
               printf("\nProducto modificado.");
             }
           }
           printf("\n\n");
        }
    }
       
   
    system("PAUSE");     
    return 0;
}

25. Que gestiona las notas de una clase de 20 alumnos de los cuales sabemos el
nombre y la nota. El programa debe ser capaz de:

a. Buscar un alumno.
b. Modificar su nota.
c. Realizar la media de todas las notas.
d. Realizar la media de las notas menores de 5.
e. Mostrar el alumno que mejores notas ha sacado.
f. Mostrar el alumno que peores notas ha sacado.

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

struct alumno {
    char nombre[50];
    float nota;
};

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


{
    struct alumno alum,alumnos[5];
   
    int x,opcion=1;
    float sum=0,cont=0,mejor,peor;
   
   
    for (x=0;x<5;x++)
    {
        printf("Introduzca nombre alumno:");
        gets(alumnos[x].nombre);
        gets(alumnos[x].nombre);
        printf("Introduzca nota:");
        scanf("%f",&alumnos[x].nota);
    }
   
    while ((opcion==1 || opcion==2 ||
            opcion==3 || opcion==4 ||
            opcion==5 || opcion==6) && (opcion!=7))
    {
   
        printf("1- Buscar un alumno\n");
        printf("2- Modificar nota\n");
        printf("3- Media de todas las notas\n");
        printf("4- Media de todas las notas inferiores a 5\n");
        printf("5- Alumno con mejores notas\n");
        printf("6- Alumno con peores notas\n");
        printf("7- Salir\n");
        printf("Introduzca una opción: ");
        scanf("%d",&opcion);
               
        if (opcion==1)
        {
           printf("Introduzca un nombre: ");
           gets(alum.nombre);
           gets(alum.nombre);
          
           for(x = 0; x < 5;x++)
           {
             if (strcmp(alumnos[x].nombre,alum.nombre)==0)
             {
               printf("\nNombre: %s\n",alumnos[x].nombre);
               printf("Nota: %f\n",alumnos[x].nota);
             }
           }
           printf("\n\n");
        }
        else if (opcion==2)
        {
           printf("Introduzca un nombre: ");
           gets(alum.nombre);
           gets(alum.nombre);
           for(x = 0; x < 5;x++)
           {
             if (strcmp(alumnos[x].nombre,alum.nombre)==0)
             {
               printf("Introduzca una nota: ");
               scanf("%f",&alumnos[x].nota);
               printf("\nNota modificada.");
             }
           }
           printf("\n\n");
        }
        else if (opcion==3)
        {
          sum=0;
          for(x = 0; x < 5;x++)
          {
             sum=sum+alumnos[x].nota;
          }
          printf("\nLa media de las notas es de: %f \n",(sum/5));
        }
        else if (opcion==4)
        {
          sum=0;
          cont=0;
          for(x = 0; x < 5;x++)
          {
             if (alumnos[x].nota<5)
             {
              sum=sum+alumnos[x].nota;
              cont++;
             }
          }
          printf("\nLa media de las notas inferiores a 5 es: %f \n",sum/cont);
        }
        else if (opcion==5)
        {
          mejor=0;
          for(x = 0; x < 5;x++)
          {
             if (alumnos[x].nota>mejor)
             {
              mejor=alumnos[x].nota;
              alum.nota=alumnos[x].nota;
              strcpy(alum.nombre,alumnos[x].nombre);
             }
          }
          printf("\nEl alumno con mejores notas es: %s \n",alum.nombre);
        }
        else if (opcion==6)
        {
          peor=10;
          for(x = 0; x < 5;x++)
          {
             if (alumnos[x].nota<peor)
             {
              peor=alumnos[x].nota;
              alum.nota=alumnos[x].nota;
              strcpy(alum.nombre,alumnos[x].nombre);
             }
          }
          printf("\nEl alumno con peores notas es: %s \n",alum.nombre);
        }
    }
       
   
    system("PAUSE");     
    return 0;
}

25 EJERCICIO RESUELTOS DE ESTRUCTURAS DE CONTROL INTERACTIVAS 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;
}

EJERCICIO

Crea un programa que declare tres variables de tipo entero con valores A = 5, B = 3, C =
-12 y muestre si se cumplen o no las siguientes condiciones usando if else:

a) A > 3                                 b) A > C                                 c) B != C                                


d) A == 3

e) A * B == 15                       f) C / B < A                             g) C / B == -10                  

h) A + B + C == 5

i) (A+B == 8) && (A-B == 2)                                       

j) (A+B == 8) || (A-B == 6)

o) A > 3 && B > 3 && C < 3    


Problema
Juan, Raquel y Daniel aportan cantidades de dinero para formar un capital. Juan y
Raquel aportan en dólares y Daniel en soles. Diseñe un programa que determine el
capital total en dólares y que porcentaje de dicho capital aporta cada uno. Considere
que: 1 dólar = 3.25 soles.
Codigo Fuente en C++
#include <iostream>
using namespace std;
int main(){
double ju,ra,da,dol,total,porcra,porcda,porcju;
cout<<"Ingresa aporte de juan"<<endl;
cin>>ju;
cout<<"Ingresa aporte de raquel"<<endl;
cin>>ra;
cout<<"Ingresa aporte de daniel"<<endl;
cin>>da;
dol=da/3.25;
total=ju+ra+dol;
porcra=(ra/total)*100;
porcda=(dol/total)*100;
porcju=(ju/total)*100;
cout<<"El capital total es " <<total<<"\n"<<
"El porcentaje de aporte de juan es " << porcju<<"\n"<<
"El porcentaje de aporte de raquel es " << porcra<<"\n"<<
"El porcentaje de aporte de daniel es " << porcda;
return 0;
}

1) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su


salario anterior.
2) Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la
unidad cambiaría es un dato desconocido.
3) Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos
de ejercicio, si la formula es:
 num. pulsaciones = (220 - edad)/10

4) En un hospital existen tres áreas: Ginecología, Pediatría, Traumatologia. El


presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área Porcentaje del presupuesto
 Ginecología 40%
 Traumatologia 30%
 Pediatría 30%
 Obtener la cantidad de dinero que recibirá cada área, para cualquier monto
presupuestal.
5) El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio
en que lo debe vender para obtener una ganancia del 30%.
6) Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra
los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer
la ruta en una semana cualquiera.

7) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas
invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con
respecto a la cantidad total invertida.
8) Un alumno desea saber cual será su promedio general en las tres materias mas
difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas
materias se evalúan como se muestra a continuación:

 La calificación de Matemáticas se obtiene de la sig. manera:


Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.

La calificación de Física se obtiene de la sig. manera:


Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.

La calificación de Química se obtiene de la sig. manera:


Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.
9) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay
en un grupo de estudiantes.

10)Realizar un algoritmo que calcule la edad de una persona.


11) Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el
vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres
ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su
sueldo base y comisiones.
65. C++ || Estructuras ejercicios
96. Hacer una estructura en C++ que registre los datos de cinco
personas como: Nombre, apellido, edad, sexo y teléfono.
#include <iostream>
using namespace std;

struct persona{
char nombre[15];
char apellido[15];
int edad;
char sexo[15];
int telefono;
};

int main(){
persona amigo[5];
for (int i = 0; i < 5; i++){
cout <<"Escriba el Nombre "<<i+1<<":";
cin >> amigo[i].nombre;

cout <<"\nEscriba el Apellido "<<i+1<<":";


cin >> amigo[i].apellido;

cout <<"\nEscriba la Edad de "<<i+1<<":";


cin >> amigo[i].edad;

cout <<"\nEscriba el sexo "<<i+1<<":";


cin >> amigo[i].sexo;

cout <<"\nEscriba el Telefono de "<<i+1<<":";


cin >> amigo[i].telefono;

cout <<endl;
}

cout<<"El registro de personas que se introdujeron es: \n\n";

for (int i = 0; i < 5; i++){


cout<<"\t"<<amigo[i].nombre;
cout<<"\t"<<amigo[i].apellido;
cout<<"\t"<<amigo[i].edad;
cout<<"\t"<<amigo[i].sexo;
cout<<"\t"<<amigo[i].telefono<<"\n\n";
}

return 0;
}

97. Hacer un programa en C++ para registrar los datos de tres libros
como: título, autor, año y color del libro. El color se deberá hacer
mediante una enumeración y sólo habrá rojo, verde y azul.
#include <iostream>
using namespace std;

enum Color{
rojo,verde,azul
};

struct Libro{
char titulo[20],autor[20];
int anio;
Color color;
};

void datosLibro(Libro[]);
void mostrarLibro(Libro[]);

int main(){
Libro libro[3];
datosLibro(libro);
mostrarLibro(libro);

return 0;
}

void datosLibro(Libro libro[3]){


for(int i = 0; i < 3; i++){
cout <<"Titulo libro " <<i+1 <<endl;
cin.getline(libro[i].titulo,20);
cout <<"Autor libro " <<i+1 <<endl;
cin.getline(libro[i].autor,20);
cout <<"Año libro " <<i+1 <<endl;
cin >> libro[i].anio;
cin.ignore();
}
libro[0].color = rojo;
libro[1].color = verde;
libro[2].color = azul;
}

void mostrarLibro(Libro libro[3]){


for(int i = 0; i < 3; i++){
cout <<"Titulo: " <<libro[i].titulo <<endl;
cout <<"Autor: " <<libro[i].autor <<endl;
cout <<"Año: " <<libro[i].anio <<endl;

switch(libro[i].color){
case rojo:
cout <<"Color: Rojo" <<endl; break;
case verde:
cout <<"Color: Verde" <<endl; break;
case azul:
cout <<"Color: Azul" <<endl; break;
}
}
}

98. Hacer estructuras anidadas para registrar los datos de un


trabajador y de una persona sin oficio.
#include <iostream>
using namespace std;

struct Fecha{
int dia,mes,anio;
};

struct Persona{
char nombre[20];
int edad,peso;
Fecha fecha;
}persona = {"Cindy",20,45,2,12,1997};

struct Empleado{
Persona persona;
int salario;
}trabajador = {"Steven",19,60,22,7,1998,1000};

int main(){
cout <<"Persona: " <<persona.nombre;
cout <<"\nEdad: " <<persona.edad;
cout <<"\nPeso: " <<persona.peso;
cout <<"\nDia nacimiento: " <<persona.fecha.dia;
cout <<"\nMes nacimiento: " <<persona.fecha.mes;
cout <<"\nAño nacimiento: " <<persona.fecha.anio;

cout <<"\n\n----------Trabajador----------" <<endl;

cout <<"\nTrabajador: " <<trabajador.persona.nombre;


cout <<"\nEdad: " <<trabajador.persona.edad;
cout <<"\nPeso: " <<trabajador.persona.peso;
cout <<"\nDia nacimiento: " <<trabajador.persona.fecha.dia;
cout <<"\nMes nacimiento: " <<trabajador.persona.fecha.mes;
cout <<"\nAño nacimiento: " <<trabajador.persona.fecha.anio;
cout <<"\nSalario: " <<trabajador.salario;

return 0;
}

99. Hacer un programa que establesca las coordenadas de una curva


en el dominio [-3,3]. El programa sólo deberá pedir la altura que tenga
en el punto del dominio, luego, mostrar las coordenadas resultantes.
#include <iostream>
using namespace std;

struct Punto{
int x,y;
};

int main(){
Punto punto[7] = {0,0};

for(int i = 0; i < 7; i++){


cout <<"Introduce la altura de la curva en " <<i - 3;
cout <<": ";
cin >> punto[i].y;
cout <<endl;
}

cout <<"Las coordenadas son: " <<endl;

for(int i = 0; i < 7; i++){


cout <<"(" <<i - 3 <<"," <<punto[i].y <<")\n";
}

return 0;
}

100. Hacer un programa donde se ingrese la fecha actual y se


comprube si corresponde al día de tu cumpleaños. Mostrar un
mensaje de felicitaciones en tal caso.
#include <iostream>
using namespace std;

struct Fecha{
int dia,mes,anio;
};

int main(){
Fecha hoy, cumpleanios;
cout <<"Ingrese la fecha de hoy" <<endl;
cout <<"Dia: "; cin >> hoy.dia;
cout <<"Mes: "; cin >> hoy.mes;
cout <<"Año: "; cin >> hoy.anio;

cout <<"Ingrese su cumpleaños" <<endl;


cout <<"Dia: "; cin >> cumpleanios.dia;
cout <<"Mes: "; cin >> cumpleanios.mes;
cout <<"Año: "; cin >> cumpleanios.anio;

if(cumpleanios.dia == hoy.dia){
if(cumpleanios.mes == hoy.mes){
cout <<"FELIZ CUMPLEAÑOS. FELICITACIONES!!!!" <<endl;
}else{
cout <<"Hoy es el mismo dia de tu cumpleaños." <<endl;
cout <<"Pero de diferente mes. ";
}
}else{
cout <<"Hoy no es tu cumpleaños." <<endl;
}
return 0;
}

También podría gustarte