Hace unos días plantee otra tanda de 25 ejercicios de C donde
practicaríamos las estructuras de control condicionales.
Foto tomada de freedigitalphotos.net |
Como ya hemos pasado por el capítulo 5 del curso básico de C, donde veíamos
los bucles, vamos a resolver esta tanda de ejercicios antes de plantear otros
25 para afianzar los últimos conocimientos adquiridos.
Realice un programa 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?