Está en la página 1de 26

Ejercicio #7:

Escribir un programa que lea tres valores float diferentes de cero, que
determine e imprima si pueden representar los lados de un tringulo, Adems
se debe indicar si estos valores pueden ser los lados de un tringulo
rectngulo.
Cdigo:
#include<stdio.h>
#include<math.h>
int main ()
{
float a,b,c;
printf("
Ejercicio #7\n");
do
{
printf("Ingrese lado a:");
scanf("%f", &a);
printf("Ingrese lado b:");
scanf("%f", &b);
printf("Ingrese lado c:");
scanf("%f", &c);
if (a<=0||b<=0||c<=0)
{
printf("Datos invalidos\n");
printf("Vuelva a ingresar los datos\n");
}
else
printf("calculando...\n");
}while(a<=0||b<=0||c<=0); //no existen medidas negativas//
if(((a+b)>c)&&((a+c)>b)&&((b+c)>a)) //teorema del triangulo de
desigualdad//
{
printf("Los valores de los lados pueden ser aplicados a un
triangulo\n");
if ((a==(sqrt((pow(b,2))+(pow(c,2)))))||(b==(sqrt((pow(a,2))+
(pow(c,2)))))||(c==(sqrt((pow(a,2))+(pow(b,2)))))) //teorema de pitagoras//
printf("Los valores ingresados pertencen a un
triangulorectangulo\n");
}
else
printf("No puede formar un triangulo con los lados ingresados\n");
}

Ejercicio 46
Una empresa de ventas
productos distintos, cuyos
muestran en la siguiente

Numero
de
producto
1
2
3
4
5

Precio al
menudeo

por correo vende 5


precios unitarios se
tabla:

29.80
45.00
99.80
44.90
68.70

Escriba un programa que lea una serie de pares de nmeros como sigue:
a.
b.

Nmero del producto


Cantidad vendida en el da

El programa deber utilizar una sentencia switch para ayudar a determinar el


precio de menudeo de cada producto. Adems, calcular y desplegar el valor
total del menudeo, de todos los productos vendidos la semana pasada.
#include "stdio.h"
#include "conio.h"
void main()
{
int op,unidades=0, precio_total1=0, precio_total2=0,
precio_total3=0, precio_total4=0,precio_total5=0;
float cantidad_final_de_la_semana_pasada=0;
const int P1=29.80;
const int P2=45.00;
const int P3=99.80;

const int P4=44.90;


const int P5=68.70;
do
{
printf("\tMenu\n");
printf("1.producto 1\n");
printf("2.producto 2\n");
printf("3.producto 3\n");
printf("4.producto 4\n");
printf("5.producto 5\n");
printf("6.salir\n");
printf("\n");
printf("Ingrese el numero del producto que del cual desea saber su venta en
el dia \n: ");
scanf("%d",&op);
switch(op)
{
case 1:
do
{
printf ("Ingrese el numero de unidades vendidas del producto 1 en el dia
\n: ");
scanf("%d",&unidades);
}while(unidades<0);
precio_total1=(unidades*P1);
printf("El precio total de venta por unidad de p1 es %d\n",precio_total1);
break;
getch();
case 2:
do
{
printf ("Ingrese el numero de unidades vendidas del producto 2 en el dia\n:
");
scanf("%d",&unidades);
}while(unidades<0);
precio_total2=(unidades*P2);
printf("El precio total de venta por unidad de p2 es %d\n",precio_total2);
break;
case 3:
do

{
printf ("Ingrese el numero de unidades vendidas del producto 3 en el dia\n:
");
scanf("%d",&unidades);
}while(unidades<0);
precio_total3=(unidades*P3);
printf("El precio total por unidades de p3 es %d\n",precio_total3);
break;
case 4:
do
{
printf ("Ingrese el numero de unidades vendidas del producto 4 en el
dia\n:");
scanf("%d",&unidades);
}while(unidades<0);
precio_total4=(unidades*P4);
printf("El precio total por unidades de p4 es %d\n",precio_total4);
break;
case 5:
do
{
printf ("Ingrese el numero de unidades vendidas del producto 5 en el dia:
");
scanf("%d",&unidades);
}while(unidades<0);
precio_total5=(unidades*P5);
printf("El precio total por unidades de p5 es %d\n",precio_total5);
break;
}
clrscr();
}while(op!=6);
cantidad_final_de_la_semana_pasada=(precio_total1+ precio_total2+
precio_total3+ precio_total4+precio_total5);
printf("la cantidad vendida en la semana pasada es %.2f
",cantidad_final_de_la_semana_pasada);
getch();
}

Ejercicio 41:
Realizar un programa que cuente el numero de cada tipo de calificacin
expresada en letras, que los estudiantes de un curso alcanzaron en un examen,
El usuario debe ingresar las calificaciones, en letras, correspondientes a cada
tipo, hasta que ingrese fin de archivo <<Ctrl Z>>; en caso de ingresar una
letra incorrecta se presenta un mensaje de error. Se tiene 5 tipos de
calificaciones en orden descendente: A o a, B o b, C o c, D o d, E o
e.
Al finalizar el ingreso se escribirn los totales para cada calificacin, y por
ultimo calcular la calificacin promedio de la clase.
#include <stdio.h>
#include<conio.h>
#include<windows.h>
void main()
{
int A=0,B=0,C=0,D=0,E=0;
float prom=0;
char nota=' '; //se inicializa la variable para poder realizar la
comparacion del if en el siguiente bloque
do
{
do
{
if(nota!='A'&&nota!='a'&&nota!='B'&&nota!='b'&&nota!
='C'&&nota!='c'&&nota!='D'&&nota!='d'&&nota!='E'&&nota!='e'&&nota!='
') //se debe excluir el caracter ' ' para que no de mensaje de error
{
//desde un
principio
printf("ERROR\nVuelva a ingresar la nota...");
Sleep(2000);
}

system("cls");
fflush(stdin); //liberar el buffer del teclado para que no
considere el enter como caracter ingresado
printf("Ingrese una nota entre A y E: ");
nota=getchar();
if(nota==EOF)//En caso de presionar <<Ctrl Z>> se realiza
el if
goto impre; //indica que se salte a la sentencia con la
etiqueta impre
}while(nota!='A'&&nota!='a'&&nota!='B'&&nota!='b'&&nota!
='C'&&nota!='c'&&nota!='D'&&nota!='d'&&nota!='E'&&nota!='e');
switch(nota) //se realizan los conteos segun el caso
{
case 'A':case 'a':{
A++;
break;}
case 'B':case 'b':{
B++;
break;}
case 'C':case 'c':{
C++;
break;}
case 'D':case 'd':{
D++;
break;}
case 'E':case 'e':{
E++;
break;}
}
}while(1);//se repetira el ciclo hasta que por medio del goto, se salte al
siguiente bloque
impre: printf("\nNota\tTotal\n");//al dar un EOF, el programa saltara a
esta etiqueta impre: para continuar
printf("A\t%d\n",A);
printf("B\t%d\n",B);
printf("C\t%d\n",C);
printf("D\t%d\n",D);
printf("E\t%d\n",E);
prom=(((A*5)+(B*4)+(C*3)+(D*2)+(E*1))/(float (A)+B+C+D+E)); //se da
un valor a cada letra y se realiza el promedio
/*se realiza un cast a la variable A para que el
resultado de la division tenga decimales,
caso contrario sabemos que entero/entero da otro
entero*/

if(prom>=0&&prom<1.5)
//dependiendo del promedio se regresa
su equivalente en letras
printf("\nEl promedio de las notas es E");
else if (prom>=1.5&&prom<2.5) //debido a que desconozco como
aproximar numeros flotantes, tuve que usar intervalos
printf("\nEl promedio de las notas es D");
else if (prom>=2.5&&prom<3.5)
printf("\nEl promedio de las notas es C");
else if (prom>=3.5&&prom<4.5)
printf("\nEl promedio de las notas es B");
else if (prom>=4.5&&prom<=5)
printf("\nEl promedio de las notas es A");
getch();
}

Ejercicio 16
Realizar un programa que genere una tabla de los cuadrados y cubos de los
nmeros desde 1 hasta un tope ledo desde teclado. Por ejemplo, si el tope es
3 la tabla ser:
Numero
1
2
3

Cuadrad
o
1
4
9

Cubo
1
8
27

#include "stdio.h"
#include "conio.h"
void main()

{
int tope, cubo, cuadrado, num;
do
{
printf("Ingrese el numero tope: ");
scanf("%d",&tope);
}
while(tope<=0);

printf("\n");
printf("NUMERO CUADRADO CUBO\n");
for(num=1;num<=tope;num++)
{
cuadrado=num*num;
cubo=num*num*num;
printf("%d\t%d\t%d\n",num,cuadrado,cubo);
}
}

Ejercicio 13.
Realizar un men para cada uno de los siguientes enunciados:
a) Calcular e imprimir la suma de una secuencia de enteros, suponiendo que el
primer entero ledo con scanf() especifica el nmero de valores a introducir b)
Calcule e imprimir la suma de los enteros pares del 2 al valor n ingresado
desde el teclado c) Calcular e imprimir el producto de los enteros impares del 1
a m ingresado desde el teclado
#include <stdio.h>
#include <conio.h>
#include <windows.h>
void main()
{
int op;
do
{
long int ac=1,acu=0;
int num,i,n,a=0;
printf("\t\tMENU\n");
printf("1.- Suma de una secuencia de enteros\n");
printf("2.- Suma de los enteros pares del 2 hasta N\n");
printf("3.- producto de los enteros impares del 1 hasta M\n");
printf("4.- Salir\n");

printf("Escoja la opcion: ");


scanf("%d",&op);
switch(op)
{
case 1:
system("cls");
do
{
printf("Ingrese de cuantos numeros quiere q sea su secuencia: ");
scanf("%d",&num);
}while(num<=0);
do
{
printf("\nIngrese el numero de donde quiere iniciar la serie: ");
scanf("%d",&n);
}while(n<=0);
for(i=1;i<=num;i++)
{
acu=acu+n;
printf("\nEl numero %d es: %d ",i,acu);
a=a+acu;
}
printf("\nLa suma de los numeros de la secuencia es: %ld
\n",a);
break;
case 2:
system("cls");
do
{
printf("Ingrese de cuantos numeros quiere q sea su secuencia: ");
scanf("%d",&num);
}while(num<=0);
for(i=0;i<=num;i=i+2)
{
printf("\n%d",i);
acu=acu+i;
}
printf("\nLa suma de todos estos numeros de la secuencia es: %d
\n",acu);
break;
case 3:
system("cls");
do
{
printf("Ingrese hasta que numero quiere que llegue la secuencia:
");
scanf("%d",&num);
}while(num<=0);
for(i=1;i<=num;i=i+2)
{

printf("\n%d",i);
ac=ac*i;
}
printf("\nel producto de todos estos numeros es: %ld \n",ac);
break;
case 4:
printf("Saliendo...\n");
exit(0);
break;
default:
printf("Opcion no valida");
printf("\nIngrese un numero entre 1 y 4");
break;
}
getch();
system("cls");
}while(op!=4);
}

Ejercicio 35.
Escribir un programa que imprima una tabla de los equivalentes binarios, octal
y hexadecimal en el rango de 1 a 127

#include <stdio.h>
int main(void)
{
int a,b,c,d,e,f,n,x1,x2,x3,x4,x5,x6;
int i;
printf("#\tbimario\t\toctal\t\thexadecimal\n");
for(i=0;i<=127;i++)
{
a=i%2;
x1=i/2;
b=x1%2;
x2=x1/2;
c=x2%2;
x3=x2/2;
d=x3%2;
x4=x3/2;
e=x4%2;
x5=x4/2;
f=x5%2;
x6=x5/2;
printf("%d\t%d%d%d%d%d%d%d",i,x6,f,e,d,c,b,a);
a=i%8;
x1=i/8;
b=x1%8;
x2=x1/8;
printf("\t\t%d%d%d",x2,b,a);
a=i%16;
x1=i/16;
b=x1%16;
x2=x1/16;
printf("\t\t%X%X%X\n",x2,b,a);
}
}

Ejercicio #43:
Escribir un programa que permita leer el nombre y el sueldo de tipo long, de
los empleados de una empresa y calcular el nmero de billetes de 100, 50, 20,

10 y 5 dlares que se debe retirar del banco para no tener que dar vuelto al
empleado. El sueldo deber ser mltiplo de 5. El ingreso de datos se termina
cuando se digite <<ENTER>> en lugar de nombre. Listar en columnas el
nombre, el sueldo, el nmero de billetes por tipo para cada empleado. Adems
listar el nmero total de billetes por tipo.
#include<stdio.h>
void main()
{
char nomb[15];
int
nemp=0,sumcien=0,sumcincuen=0,sumdiez=0,sumveinte=0,sumcinco=0;
int
contcien=0,contcincuen=0,contveinte=0,contdiez=0,contcinco=0,x=0;
long sueld;
printf("Ingrese el numero de empleados:\n");
scanf("%d",&nemp);
do
{
contcien=0;
contcincuen=0;
contveinte=0;
contdiez=0;
contcinco=0;
sueld=0;
fflush(stdin);
printf("\nIngrese el nombre:\n");
scanf("%s",&nomb);
do
{
printf("Ingrese el sueldo:\n");
scanf("%ld",&sueld);
}while ((sueld%5)!=0);
do
{
sueld=sueld-100;
contcien=contcien++;
if ((sueld<100)&&(sueld>=50))
{
sueld=sueld-50;
contcincuen=contcincuen++;
}
if ((sueld<50)&&(sueld>=20))
{
sueld=sueld-20;
contveinte=contveinte++;
}

if ((sueld<20)&&(sueld>=10))
{
sueld=sueld-10;
contdiez=contdiez++;
}
if ((sueld<10)&&(sueld>=5))
{
sueld=sueld-5;
contcinco=contcinco++;
}
}while(sueld!=0);
printf("\tBilletes de cien: ");
printf("\t%d\n",contcien);
printf("\tBilletes de cincuenta: ");
printf("\t%d\n",contcincuen);
printf("\tBilletes de veinte: ");
printf("\t%d\n",contveinte);
printf("\tBilletes de diez:");
printf("\t%d\n",contdiez);
printf("\tBilletes de cinco: ");
printf("\t%d\n",contcinco);
sumcien=sumcien+contcien;
sumcincuen=sumcincuen+contcincuen;
sumveinte=sumveinte+contveinte;
sumdiez=sumdiez+contdiez;
sumcinco=sumcinco+contcinco;
x=x++;
}while(x<nemp);
printf("\n\t\tTotal de Billetes de todos los empleados:\n\n");
printf("\tNumero total de billetes de cien: ");
printf("\t%d\n",sumcien);
printf("\tNumero total de billetes de cincuenta: ");
printf("\t%d\n",sumcincuen);
printf("\tNumero total de billetes de veinte: ");
printf("\t%d\n",sumveinte);
printf("\tNumero total de billetes de diez: ");
printf("\t%d\n",sumdiez);
printf("\tNumero total de billetes de cinco: ");
printf("\t%d\n",sumcinco);
}
Captura de la corrida del programa:

Ejercicio 05.Escribir un porgrama que calculi e imprima el promedio de la secuencia


de numero enteros, suponiendo que el ultimo valor leido mediante
scanf() es el centinela 9999. El programa debera leer un valor cada vez
que scanf() sea ejecutado. Por ejemplo , una secuencia tpica de entrada
podra ser: 10, 8, 11, 7, 9, 9999
El promedio debe calularse de todos los valores que proceden a 9999.
Adems, el programa debe localizar el mas pequeo de los nmeros
enteros.
#include<stdio.h>
#include<conio.h>
int main()
{
int n,nm=9999,s=0,c=1,r=0,p=0;
printf("Ingresar los numeros enteros: \n");
do
{
scanf("%d",&n);
if(n<nm)
nm=n;
if(n<9999)
s=s+n;
c++;
}while(n!=9999);
p=s/c;
printf("El promedio es %d\nEl numero menor es %d",p,nm);
getch();
}

Ejercicio 45.Realizar un programa que ingrese desde teclado dos nmeros enteros
positivos, para determinar si son amigos. Dos nmeros enteros son
amigos si la suma de los divisores del primer nmero es igual al segundo
numero; en forma similar debe cumplir para el segundo nmero.
#include<stdio.h>
#include<conio.h>
int main()
{
int n1,n2,r1=0,r2=0,c=1;
printf("Ingresar el primer numero: ");
scanf("%d",&n1);
while(n1<0)
{
if(n1<0)
printf("ingresar un numero positivo\n");
scanf("%d",&n1);
}
printf("Ingresar el segundo numero: ");
scanf("%d",&n2);

while(n2<0)
{
if(n2<0)
printf("ingresar un numero positivo\n");
scanf("%d",&n2);
}
do
{
if((n1%c)==0)
r1=r1+c;
c++;
}while(n1>=c);
c=1;
do
{
if((n2%c)==0)
r2=r2+c;
c++;
}while(n2>=c);
if(r1==n2)
printf("Los numeros %d y %d son amigos\n",n1,n2);
else
printf("Los numeros %d y %d no son amigos\n",n1,n2);
if(r2==n1)
printf("los numeros %d y %d son amigos\n",n2,n1);
else

printf("Los numeros %d y %d no son amigos\n",n2,n1);


getch();
}

Ejercicio 28.Los nmero de Fibonacci son miembros de una serie en la que cada
nmero es igual a la suma de los dos anteriores as:
Fi=FI-1+Fi-2
Donde FI es el i-esimo numero de Fibonacci
Los dos primeros nmeros de la serie de Fibonacci son por definicin
igual a 1
#include<stdio.h>
#include<conio.h>
int main ()
{
int a=0,b=1,c,num;
printf("ingrese el numero de elementos que desea de la serie del
fibonacci ");
scanf("%d",&num);
printf ("%d ",b);
for (int aux=1;aux<num;aux++)
{
c=a+b;
printf("%d ",c);
a=b;
b=c;
}

getch();
}

Ejercicio 31.Realizar un programa que muestra el valor de p aproximado a un


trmino de esta serie, a dos, a tres, etc.
Cuntos trminos de esta serie tendr que utilizarse antes de que
empiece a tener 3.14?,3.141?,3.1415?, 3.14159?
#include<stdio.h>
#include<conio.h>
int main()
{
int num, cont;
float res=0;
char decide;
do
{
do
{
printf("Introduce el numero de terminos de la serie: ");
scanf("%d",&num);
}while(num<=0);
for(cont=0;cont<num;cont++)
{
if(cont%2!=0)
res-=4.0/(2*cont+1);
else
res+=4.0/(2*cont+1);
}
printf("El resultado aproximado de PI despues de hacer %d series es:
%lf\n", num, res);
getch;

do
{
fflush(stdin);
printf("Desea continuar (S/N): ");
scanf("%c",&decide);
if((decide!='S'&&decide!='N')||(decide!
='s'&&decide!='n'))
printf("Solo debe ingresar S/n");
}while((decide!='S'&&decide!='N')&&(decide!='s'&&decide!
='n'));
getch();
}while(decide=='s'||decide=='S');
}

Ejercicio 01.-

Realizar un programa que genere una tabla de los cuadrados y cubos de los
nmeros desde 1 hasta un tope ledo desde teclado. Por ejemplo, si el tope es
3 la tabla ser:
Numero
1
2
3

Cuadrad
o
1
4
9

Cubo
1
8
27

#include "stdio.h"
#include "conio.h"
int main()

{
int tope, cubo, cuadrado, num;
do
{
printf("Ingrese el numero tope: ");
scanf("%d",&tope);
}

while(tope<=0);
printf("\n");
printf("NUMERO CUADRADO CUBO\n");
for(num=1;num<=tope;num++)
{
cuadrado=num*num;
cubo=num*num*num;
printf("%d\t%d\t%d\n",num,cuadrado,cubo);
}
}

Ejercicio 14.Realizar el men con los enunciados respectivos:


#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main()
{
int op;
do
{
long int ac=1,acu=0;
int num,i,n,a=0;
printf("\t\tMENU\n");
printf("1.- Suma de una secuencia de enteros\n");
printf("2.- Suma de los enteros pares del 2 hasta N\n");

printf("3.- producto de los enteros impares del 1 hasta


M\n");
printf("4.- Salir\n");
printf("Escoja la opcion: ");
scanf("%d",&op);
switch(op)
{
case 1:
system("cls");
do
{
printf("Ingrese de cuantos numeros quiere q sea su
secuencia: ");
scanf("%d",&num);
}while(num<=0);
do
{
printf("\nIngrese el numero de donde quiere iniciar la
serie: ");
scanf("%d",&n);
}while(n<=0);
for(i=1;i<=num;i++)
{
acu=acu+n;
printf("\nEl numero %d es: %d ",i,acu);
a=a+acu;
}
printf("\nLa suma de los numeros de la secuencia es:
%ld \n",a);
break;
case 2:
system("cls");
do
{
printf("Ingrese de cuantos numeros quiere q sea su
secuencia: ");
scanf("%d",&num);
}while(num<=0);
for(i=0;i<=num;i=i+2)
{
printf("\n%d",i);
acu=acu+i;
}
printf("\nLa suma de todos estos numeros de la
secuencia es: %d \n",acu);
break;
case 3:
system("cls");
do

{
printf("Ingrese hasta que numero quiere que llegue la
secuencia: ");
scanf("%d",&num);
}while(num<=0);
for(i=1;i<=num;i=i+2)
{
printf("\n%d",i);
ac=ac*i;
}
printf("\nel producto de todos estos numeros es:
%ld \n",ac);
break;
case 4:
printf("Saliendo...\n");
exit(0);
break;
default:
printf("Opcion no valida");
printf("\nIngrese un numero entre 1 y 4");
break;
}
getch();
system("cls");
}while(op!=4);
}

Ejercicio 09
Escribir un programa que lea el lado de un cuadrado y a continuacin lo
imprima en forma de un cuadrado hueco de asteriscos. El programa
deber funcionar para cuadrados de todos los tamaos entre 1 y 20
asteriscos.

#include <stdio.h>
#include<conio.h>
#include<windows.h>
int main()
{
int num,aux,aux2;
do
{
system("cls");
printf("Ingrese un lado del cuadrado: ");
scanf("%d",&num);
}while(num<=0 || num>20);
printf("\n");
for(aux=1;aux<=num;aux++) //va a graficar lado superior
printf("*");
for(aux=1;aux<(num-1);aux++)
{
printf("\n*");//imprime el primer asterisco del lado izquierdo del
cuadrado
for(aux2=1;aux2<(num-1);aux2++)//rellena de espacios necesarios
en la fila
printf(" ");
printf("*");//imprime el asterisco final en la lnea, que corresponde al
lado derecho del cuadrado

//estos dos for anidados, van a imprimir el cuerpo del cuadrado, menos la lnea
final

}
printf("\n");
for(aux=1;aux<=num;aux++)//imprime el lado inferior del cuadrado
printf("*");
getch();
}

Ejercicio 32

Un numero primo es una cantidad entera que es divisible solo por 1 y por si
mismo. Escribir un programa que imprima una lista con n nmeros primos

#include<stdio.h>

int main()

{
int num, cont=0, divid=2, divisor=1;

printf("Este programa muestra los primeros n numeros primos\n");

do
{
printf("Introduzca los primeros n numeros primos que desea encontrar: ");
scanf("%d", &num);
}while(num<=0);

while(cont<num)
{
divisor++;
if(divid%divisor==0 && divid==divisor)
{
printf("%d\t", divid);
divid++;
cont++;
divisor=1;
}
else if(divid%divisor==0 && divid!=divisor)
{
divid++;
divisor=1;
}

printf("\n\n");

return 0;

También podría gustarte