Ejercicios de programación en C (Estructuras condicionales-Selectivas)
-
Upload
maynor-mendoza -
Category
Education
-
view
36.573 -
download
6
Transcript of Ejercicios de programación en C (Estructuras condicionales-Selectivas)
/*Escribir un programa que permita efectuar el cálculo del área de un
cuadrado, un círculo o
un triángulo equilátero según la opción seleccionada por el usuario a
través de un menú*/
#include<stdio.h>
#include<math.h>
main()
{
int op;
const float pi=3.1416;
float l,area,r;
printf("Bienvenido al calculador de areas\n");
printf("*****\tMENU\t*****\n");
printf("1.Area de cuadrado\n");
printf("2.Area de circulo\n");
printf("3.Area de triangulo equilatero\n");
printf("Seleccione el numero perteneciente al tipo de area que
desea evaluar\n");
scanf("%d",&op);
if (op==1)
{
printf("Ha seleccionado: Calculo de area de un
cuadrado\n");
printf("Ingrese el valor del lado\n");
scanf("%f", &l);
area=(pow(l,2));
printf("El valor del area es %f unidades
cuadradas\n",area);
}
else if (op==2)
{
printf("Ha seleccionado: Calculo de area de un
circulo\n");
printf("Ingrese el valor del radio\n");
scanf("%f", &r);
area=(pi*pow(r,2));
printf("El valor del area es %f unidades
cuadradas\n",area);
}
else if (op==3)
{
printf("Ha seleccionado: Calculo de area de un
triangulo rectangulo\n");
printf("Ingrese el valor del lado\n");
scanf("%f", &l);
area=((pow(3,0.5)/4)*pow(l,2));
printf("El valor del area es %f unidades
cuadradas\n",area);
}
printf("Gracias por preferirnos");
getch();
}
-------------------------------------------------------------------------
--------------------------
/*Escribir un programa que:
a) Tenga un carácter como argumento.
b) Si el argumento es alguno de los caracteres A B C D, devuelve por
pantalla los
caracteres 1 2 3 4, respectivamente; en caso contrario devolverá el
carácter 0.
Recuerde que los caracteres van entre comillas.
c) Utilice la sentencia switch.*/
#include<stdio.h>
main()
{
char et;
printf("Bienvenido al conversor a,b,c,d-1,2,3,4\n");
printf("Ingrese un caracter\n");
scanf("%C", &et);
if ((et=='a')||(et=='A'))
printf("1");
else if ((et=='b')||(et=='B'))
printf("2");
else if ((et=='c')||(et=='C'))
printf("3");
else if ((et=='d')||(et=='D'))
printf("4");
else
printf("0");
getch();
}
------------------------------------------------------------------------
/*Un supermercado ha puesto en oferta la venta al por mayor de cierto
producto, ofreciendo
un descuento del 15% por la compra de más de 3 docenas y 10% en caso
contrario.
Además por la compra de más de 3 docenas se obsequia una unidad del
producto por
cada docena en exceso sobre 3. Desarrolle un programa en C que determine
el monto de
la compra, el monto del descuento, el monto a pagar y el número de
unidades de
obsequio por la compra de cierta cantidad de docenas del producto.*/
#include<stdio.h>
float montopag,montocom,montodes,precio;
int docenas,obsequio;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("\n Digite las docenas");
scanf("%d",&docenas);
printf("\n Digite el precio");
scanf("%f",&precio);
montocom = docenas*precio;
if( docenas > 3 )
{
montodes = 0.15*montocom;
obsequio = docenas-3;
}
else
{
montodes = 0.10*montocom;
obsequio = 0;
}
montopag = montocom - montodes;
printf("\n El monto de compra es:%.2f",montopag);
printf("\n El monto de descuento es:%.2f",montodes);
printf("\n El monto de pago es:%.2f",montopag);
printf("\n El monto de obsequio es:%.2d",obsequio);
getch();
}
----------------------------------------------------------------
/*Construir un programa que calcule el índice de masa corporal de una
persona (IMC =
peso [kg] / altura² [m] e indique el estado en el que se encuentra esa
persona en función
del valor de IMC:*/
# include<stdio.h>
main()
{ float peso;
float altura;
float imc;
printf("Ingrese el Peso de la Persona (KGs): ");
scanf("%f",&peso);
printf("Ingrese la Altura de la Persona (MTs): ");
scanf("%f",&altura);
imc = peso / (altura*altura);
printf("Su Indice de Masa Corporal es de %f. ",imc);
if (imc <16)
{ printf ("Debe ingresar a un hospital");
}
else if ((imc>=16)&&(imc<17))
{ printf ("Infrapeso");
}
else if ((imc>=17)&&(imc<18))
{ printf ("Bajo peso"); }
else if ((imc>=18)&&(imc<25)) {
printf ("Peso Normal (Saludable)"); }
else if ((imc>=25)&&(imc<30))
{ printf ("Sobrepeso (Obesidad Grado I)"); }
else if ((imc>=30)&&(imc<35))
{ printf ("Sobrepeao Crónico (Obesidad Grado II)");
}
else if ((imc>=35)&&(imc<40)){ printf ("Obesidad Pre-Mórbidad
(Obesidad Grado III)"); }
else { printf ("Obesidad Mórbida (Obesidad Grado IV)"); }
getch();
}
-------------------------------------------------------------------------
-----------------
/*12. Dado como datos la matricula de un alumno, el semestre en el que
está inscrito, y
promedio, determine si el mismo es apto para pertenecer alguna de las
profesiones que
tiene la universidad. Si el alumno es aceptado teniendo en cuenta las
especificaciones
que se listan abajo se debe imprimir su matrícula, carrera y la palabra
“Aceptado”*/
#include <stdio.h>
main()
{
int semestre;
float promedio;
printf("introduce el semestre que cursas\n");
scanf("%d", &semestre);
printf("introduce tu promedio\n");
scanf("%f", &promedio);
if((semestre>6)&&(promedio>=8.8))
printf("INGENIERIA aceptado");
else
if((semestre>=6)&&(promedio>8.5))
printf("MEDICINA aceptado");
else
if((semestre>5)&&(promedio>=8.3))
printf("LICENCIATURA
aceptado");
else
if((semestre>=3)&&(promedio>=7.8))
printf("TECNICO
aceptado");
else
printf("fuera de rango");
getch();
}
-------------------------------------------------------------------------
--
/* 13)Escriba un programa que solicite un año e indique si es bisiesto.
Un año es bisiesto
cuando es múltiplo de 4 pero no de 100 o múltiplo de 400.*/
#include<stdio.h>
#include <math.h>
int ano;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("\n Introduzca el ano");
scanf("%d",&ano);
if (ano % 4 == 0)
{
if ((ano % 100 != 0) | (ano % 400 == 0))
{
printf(" El ano es bisiesto");
}
}
else
{
printf(" El ano NO es bisiesto");
}
getch();
}
-------------------------------------------------------------------------
-------
/*14. Elabora un programa que permita averiguar si una persona debe de
inscribirse para la
Universidad, su edad mínima es 17, sabiendo su año de nacimiento.*/
#include<stdio.h>
int anoa,anonac,edad;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("\n\n Para saber si usted esta apto para ingresar a la Universidad
digite su fecha de nacimiento");
scanf("%d",&anonac);
printf("Digite el ano lectivo");
scanf("%d",&anoa);
edad=anoa-anonac;
if (edad>17)
{
printf(" Si puede ingresar a la Universidad");
}
else
{
printf(" No puede ingresar a la Universidad");
}
getch();
}
-------------------------------------------------------------------------
------------
/* 15)A un trabajador le pagan según sus horas trabajadas y la tarifa
está a un valor por hora. Si
la cantidad de horas trabajadas es mayor a 40 horas, la tarifa por hora
se incrementa en
un 50% para las horas extras. Calcular el salario del trabajador dadas
las horas trabajadas
y la tarifa.*/
#include<stdio.h>
main()
{
int c;
float p, extra, pt,mc,inc;
printf("Bienvenido al programa pago de un empleado\n");
printf("Ingrese la cantidad de horas trabajadas\n");
scanf("%d", &c);
printf("Ingrese el pago por hora\n");
scanf("%f", &p);
mc=(c*p);
extra=(p+(p*0.5));
if (c>40)
{
inc=((c-40)*extra);
printf("Ha recibido un pago de %.2f por las horas extras
laboradas\n\n",inc);
pt=((40*p)+inc);
printf("El pago total es de %.2f\n", pt);
}
else
printf("El pago total es de %.2f\n", mc);
getch();
}
-------------------------------------------------------------------------
-----------
/* 17)Escriba un programa en C que, dado una fecha introducida por
teclado (día y mes)
correspondiente al año 2013, imprima por pantalla el número de días que
han pasado
desde el 1 de Enero de 2013 hasta la fecha dada, inclusive*/
#include <stdio.h>
main()
{
int dia, mes, tiempo;
printf("introduzca el dia\n");
scanf("%d", &dia);
printf("introduzca el numero de mes\n");
scanf("%d", &mes);
if (dia<=31)
if(mes==1)
printf("han pasado %d dias", dia);
else
if(mes==2)
{
tiempo=31+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==3)
{
tiempo=60+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==4)
{
tiempo=91+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==5)
{
tiempo=121+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==6)
{
tiempo=152+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==7)
{
tiempo=182+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==8)
{
tiempo=213+dia;
printf("han pasado %d dias", tiempo);
}
else
if(mes==9)
{
tiempo=244+dia;
printf("han pasado %d dias",
tiempo);
}
else
if(mes==10)
{
tiempo=274+dia;
printf("han pasado %d dias",
tiempo);
}
else
if(mes==11)
{
tiempo=305+dia;
printf("han pasado %d
dias", tiempo);
}
else
if(mes==12)
{
tiempo=334
+dia;
printf("han pasado %d
dias", tiempo);
}
else
printf("fuera de
rango");
else
printf("dias fuera
de rango");
getch();
}
-------------------------------------------------------------------------
----------
/* 18)Diseñe un programa que lea tres números y los imprima de mayor a
menor y de menor a
mayor.*/
#include <stdio.h>
main()
{
int a, b, c;
printf("introduzca el valor de a\n");
scanf("%d", &a);
printf("introduzca el valor de b\n");
scanf("%d", &b);
printf("introduzca el valor de c\n");
scanf("%d", &c);
if((a>b)&&(b>c)){
printf(" mayor a menor%d%d%d\n", a, b, c);
printf("menor a mayor%d%d%d", c, b, a);
}
else
if((a>b)&&(c>b))
{
printf(" mayor a menor%d%d%d\n", a, c, b);
printf("menor a mayor%d%d%d", c, b, a);
}
else
if((b>a)&&(a>c))
{
printf(" mayor a menor%d%d%d", b, a, c);
printf("menor a mayor%d%d%d", c, a, b);
}
else
if((b>a)&&(c>a))
{
printf("mayor a menor%d%d%d\n", b, c,
a);
printf("menor a mayor%d%d%d", a, c, b);
}
else
if((c>a)&&(a>b))
{
printf("mayor a menor%d%d%d\n", c,
a, b);
printf("menor a mayor%d%d%d", b, a,
c);
}
else
if((c>a)&&(b>a))
{
printf("mayor a menor%d%d%d\n",
c, b, a);
printf("menor a mayor%d%d%d",
a, b, c);
}
else
if((c>b)&&(a>b))
{
printf("mayor a menor%d%d%d\n",
c, a, b);
printf("menor a mayor%d%d%d",
b, a, c);
}
else
if((c>b)&&(b>a))
{
printf("mayor a
menor%d%d%d\n", c, b, a);
printf("menor a
mayor%d%d%d", a, b, c);
}
else
if((a>c)&&(c>b))
{
printf("mayor a
menor%d%d%d\n", a, c, b);
printf("menor a
mayor%d%d%d", b, c, a);
}
else
if((a>c)&&(b>c))
{
printf("mayor a
menor%d%d%d\n", a, b, c);
printf("menor a
mayor%d%d%d", c, b, a);
}
else
if((b>a)&&(a>c))
{
printf("mayor a
menor%d%d%d\n", b, a, c);
printf("menor a
mayor%d%d%d", c, a, b);
}
else
if((b>a)&&(c>a))
{
printf("mayor a menor%d%d%d\n", b, c, a);
printf("menor a mayor%d%d%d", a, c, b);
}
getch();
}
-------------------------------------------------------------------------
-----------------------
/*20. Una compañía dedicada al alquiler de automóviles cobra un monto
fijo de $300000 para
los primeros 300 km de recorrido. Para más de 300 km y hasta 1000 km,
cobra un monto
adicional de $ 15.000 por cada kilómetro en exceso sobre 300. Para más de
1000 km
cobra un monto adicional de $ 10.000 por cada kilómetro en exceso sobre
1000. Los
precios ya incluyen el 20% del impuesto general a las ventas, IVA.
Desarrolle un programa
que determine el monto a pagar por el alquiler de un vehículo y el monto
incluido del
impuesto*/
#include<stdio.h>
#define montofijo 300000
#define iva 0.20
main ()
{
float kilomrec, montopag, montoiva;
printf("\t\t\t\t Bienvenido\n");
printf("digite los kilometros");
scanf("%f",&kilomrec);
if( kilomrec <= 300 )
{
montopag = montofijo;
}
else if( kilomrec <= 1000 )
{
montopag = montofijo + 15000*(kilomrec-300);
}
else
{
montopag = montofijo + 15000*700 + 10000*(kilomrec-1000);
}
montoiva = iva*montopag;
printf("%.2f Monto a pagar por alquiler",montopag);
printf("\n%.2f Monto iva",montoiva);
getch();
}
-------------------------------------------------------------------------
-------------
/*1)Desarrolle un programa que muestre en pantalla los nombres de los
días de la semana en
función del valor de una variable DIA introducida por teclado.*/
#include <stdio.h>
int angulo;
main()
{
printf ("Digente el valor del angulo");
scanf("%d",&angulo);
if (angulo<90)
{
printf("%d es un angulo agudo\n",angulo);
}
else if (angulo==90)
{
printf ("%d es un angulo recto\n",angulo);
}
else if(angulo>90)
{
printf("%d es un angulo obtuso\n",angulo);
}
getch();
}
-------------------------------------------------------------------------
--------------
/*Desarrolle un programa que permita leer un valor cualquiera N y escriba
si dicho número
es par o impar.*/
#include <stdio.h>
#include <math.h>
int n;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("\nDigite un numero");
scanf("%f",&n);
if( (n%2==0) && (n>0) )
{
printf("El numero es par ");
}
else
{
printf("El numero no es par");
}
getch();
}
-------------------------------------------------------------------------
--------------
//Solicitar tres números e indicar si el tercero es igual a la suma del
primero y el segundo
#include <stdio.h>
main()
{
int x,y,z ;
printf ("Introduzca 3 numeros \n");
scanf ("%d %d %d", &x, &y, &z);
if (y+z == x)
printf ("la suma de los 2 ultimos numeros son iguales al primero
\n");
else
printf ("la suma de los 2 ultimos numeros no son iguales al
primero\n");
getch();
}
-------------------------------------------------------------------------
-------------------
/*Un ángulo se considera agudo si es menor de 90 grados, obtuso si es
mayor de 90 grados
y recto si es igual a 90 grados. Utilizando esta información, escribir un
programa que
acepte un ángulo en grados y visualice el tipo de ángulo correspondiente
a los grados
introducidos. */
#include <stdio.h>
main()
{ int a;
printf ("Introduzca de cuantos angulos es el triangulo \n");
scanf ("%d", &a);
if (a==90)
printf ("El angulo es recto");
else if (a>90)
printf ("El angulo es obtuso");
else if (a<90)
printf ("el angulo es agudo");
else ("Ingreso un numero fuera de rango");
getch();
}
-------------------------------------------------------------------------
-----------------------
/*Se desea seleccionar un atleta para una maratón internacional,
para seleccionarlo este debe haber terminado el maratón anterior, en
un tiempo determinado. Los tiempos son 150 minutos para hombres
menores de 40 años; 175 minutos para hombres con una edad mayor o
igual a 40 años y 180 minutos para mujeres. Los datos a introducir
son: Sexo, Edad y tiempo efectuado en su maratón anterior
*/
#include <stdio.h>
main()
{
int edad,time,termino;
char sexo;
printf("\t***Bienvenidos***\n");
printf ("\t introduzca 1 si termino su maraton anterior y dos si no
lo termino\n");
scanf("%d", &termino);
printf ("\t introduzca m si es hombre y m si es mujer\n");
fflush(stdin);
scanf("%c", &sexo);
fflush(stdin);
printf ("\t introduzca edad \n");
scanf("%d", &edad);
printf ("\t introduzca tiempo efectuado en su maratón anterior
\n");
scanf("%d", &time);
if (termino==1)
{
if (sexo=='h')
{if (edad<40)
{ if (time<=150)
{printf ("es apto");}
else
printf("no es apto"); }
else if (edad>=40) {
if (time<=175) {
printf ("es apto");}
else printf ("no es apto"); }
}
else if (sexo=='m') {
if (time<=180){
printf ("es apto");}
else printf("no es apto"); }
else printf ("Error de digitacion"); }
else printf("Error de digitacion");
getch();
}
-------------------------------------------------------------------------
---
//10
#include<stdio.h>
int numero, unidades, centenas;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("digite el numero");
scanf("%d",&numero);
if(numero >99 && numero < 1000 )
{
unidades = numero%10;
centenas = (numero/100);
}
if( unidades == centenas )
{
printf("Es capicua");
}
else
{
printf("NO es capicua");
}
getch ();
}
-------------------------------------------------------------------------
------
/*Demostrar si un numero es capicua*/
//10
#include<stdio.h>
int numero, unidades, centenas;
main ()
{
printf("\t\t\t\t Bienvenido\n");
printf("digite el numero");
scanf("%d",&numero);
if(numero >99 && numero < 1000 )
{
unidades = numero%10;
centenas = (numero/100);
}
if( unidades == centenas )
{
printf("Es capicua");
}
else
{
printf("NO es capicua");
}
getch ();
}
-------------------------------------------------------------------------
----------
/* 16)Diseñe un programa que lea tres longitudes y determine si forman o
no un triángulo. Si es
un triángulo determine de qué tipo de triángulo se trata entre:
equilátero (si tiene tres lados
iguales), isósceles (si tiene dos lados iguales) o escaleno (si tiene
tres lados desiguales).
Considere que para formar un triángulo se requiere que: "el lado mayor
sea menor que la
suma de los otros dos lados".*/
#include <stdio.h>
int L1, L2, L3, suma, mayor;
main()
{
printf("\t\t\t\t Bienvenido\n");
printf("\n Digite el lado 1");
scanf("%d",&L1);
printf("\n Digite el lado 2");
scanf("%d",&L2);
printf("\n Digite el lado 3");
scanf("%d",&L3);
mayor = L1;
if (L2>mayor)
{
mayor=L2;
}
if( L3 > mayor )
{
mayor = L3;
}
suma = L1 + L2 + L3 - mayor;
if( mayor < suma )
{
if( ( L1 == L2 ) && ( L2 == L3 ) )
{
printf("Triangulo equilatero");
}
else if( ( L1 == L2 ) || ( L1 == L3 ) || ( L2 == L3 ) )
{
printf("Triangulo isosceles");
}
else
printf("Triangulo escaleno");
}
else
printf("No es un tringulo");
getch();
}