Вы находитесь на странице: 1из 5

UNIVERSIDAD NACIONAL DE HUANCAVELICA

Facultad de Ingeniería Electrónica-Sistemas


Escuela Profesional de Ingeniería Electrónica

Programas en C

1. Escribir un programa que lea la hora de un día de notación de 24 horas y la


respuesta en notación de 12 horas. Por ejemplo, si la entrada es 13:45, la
salida será:
1:45 PM
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause")
or input loop */
int main(void)
{
float hora,h;

printf("Escriba la hora: ");


scanf("%f",&hora);

if(hora<12)
printf("La hora es: %.2f AM",hora);
else
{
h=hora-12;
printf("La hora es: %.2f PM",h);
}
return 0;
}
2. El programa pedirá al usuario que introduzca exactamente cinco
caracteres. Así, por ejemplo, las nueve en punto se introduce como:
09:00
int main(void)
{
char hora[5], aux[5], * pch, * pch1;
int hor,min;
printf("Introduce la hora: ");
scanf("%s",hora);
strcpy (aux, hora); // Copia el contenido de hora para poder hacer la
comparacion
pch = strtok (hora,":"); //Separa la cadena en los elementos antes de :
pch1 = strtok (NULL,":"); //Separa la cadena en los elementos despues
de :
hor=atoi(pch);//cambia de char a int
min=atoi(pch1);//cambia de char a int
if (strlen(aux)!=5 && pch==NULL || pch1==NULL)
{
printf("Debes introducir la hora con el siguiete formato hh:mm con 5
caracteres\n");
system("pause");
exit (0);
}
else
if (hor>=0 && hor<=24 && min>=0 && min<60)
if (hor<=12)
{
hor=hor;
printf("Las %s es igual a %d:%s \n",aux,hor,pch1);
}
else
{
hor-=12;
hor=hor;
printf("Las %s es igual a %d:%s \n",aux,hor,pch1);
}
else
{
printf("La hora esta mal\n");
system("pause");
exit (0);
}
system("pause");

return 0;
}
3. Escribir un programa que acepte fechas escritas de modo usual y las
visualice como tres números. Por ejemplo, la entrada:
15 febrero 2014
Producirá la salida
15 2 2014

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
char fecha[] = "19, Abril 2014", mes[11]={'\0'}, numMes[3]={'\0'};
static const char *const meses[] = {"Inicio", "Enero", "Febrero", "Marzo",
"Abril", "Mayo", "Junio", "Julio", "Agosto",
"Septiembre", "Octubre", "Noviembre", "Diciembre"};
int i=0, j=0, iniMes=0, iniAnio=0;

for(; fecha[i]; i++){


if(isalpha(fecha[i])){
mes[j] = fecha[i];

if(j==0){iniMes = i;}
j++;
}
else{
if(j>0){
iniAnio = i+1;
break;
}
}
}
mes[j] = '\0';

for(i=0; i<12; i++){


if(!strcmp(mes,meses[i])){
break;
}
}
sprintf(numMes,"%d",i);

for(i=iniMes; fecha[i]; i++){


if(i == iniMes){
fecha[i] = numMes[0]; i++;
fecha[i] = ' ';
}
else{
fecha[i] = fecha[iniAnio];
iniAnio++;
}
}
printf("\n %s", fecha);

printf("\n\n");
return 0;
}
4. Escribir un programa que acepte un número de tres digitos escrito en palabras y
a continuación los visualice como un valor de tipo entero. La entrada se termina
con un punto. Por ejemplo, la entrada:
Doscientos veinticinco
Producirá la salida:
225

5. Escribir y ejecutar un programa que simule un calculador simple. Lee dos enteros
y un carácter. Si el carácter es un +, se imprime la suma; si es un −, se imprime
la diferencia; si es un *, se imprime el producto; si es un /, se imprime el cociente;
y si es un % se imprime el resto.
Nota: Utilizar la sentencia switch.
6. Escribir un programa que visualice un triángulo isósceles.
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
7. ¿Cuál es la salida de los siguientes bucles?
A. for (n = 10; n > 0; n = n – 2)
{
printf("Hola");
printf(" %d \n",n);
}

B. double n = 2;
for (; n > 0; n = n – 0.5)
printf(" %lg ",n);

C. int n, m;
for (n = 1; n <= 10; n++)
for (m = 10; m >= 1; m−−)
printf("%d veces %d = %d \n", n, m, n*m);

8. Escriba un programa que clacule y visualice:


1! + 2! + 3! + ⋯ + (𝑛 − 1)! + 𝑛!
Dónde: n es un valor dado.
9. Describir la salida de los siguientes bucles:
a) for (i = 1; i <= 5; i++)
{
printf(" %d \n",i);
for (j = i; j >= 1; j −= 2)
printf(" %d \n",j);
}
b) for (i = 3; i > 0; i−−)
for (j = 1; j <= i; j++)
for (k = i; k >= j; k––)
printf("%d %d %d \n", i, j, k);)
c) for (i = 1; i <= 3; i++)
for (j = 1; j <= 3; j++)
{
for (k = i; k <= j; k++)
printf("%d %d %d \n", i, j, k);
putchar('\n');
}

10. Escribir un programa que encuentre los tres primeros números perfectos pares
y los tres primeros números perfectos impares. Un numero perfecto es un entero
positivo, que es igual a la suma de todos los enteros positivos (excluido el mismo)
que son divisores del número. El primer número perfecto es 6, ya que los
divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6.
11. La constante pi (3.141592...) es muy utilizada en matemáticas. Un método
sencillo de calcular su valor es:

2 4 6 6
𝑃𝑖 = 4 ∗ ( ) ∗ ( ) ∗ ( ) ∗ ( ) ∗
3 5 5 7

Escribir un programa que efectúe este cálculo con un número de términos


especificados por el usuario.
12. Escribir un programa que calcule y visualice el más grande, el más pequeño y la
media de N números. El valor de N se solicitará al principio del programa y los
números serán introducidos por el usuario.
13. El valor de 𝑒 𝑥 se puede aproximar por la suma:

𝑥2 𝑥3 𝑥𝑛
1+𝑥+ + + ⋯+
2! 3! 𝑛!

Escribir un programa que tome un valor de x como entrada y visualice la suma


para cada uno de los valores de 1 a 100.

Ing. Emersson Luis Montañez Rodriguez

Вам также может понравиться