Sie sind auf Seite 1von 10

Captulo 4

4.8) Escriba un programa que calcule e imprima el promedio de varios enteros,


suponga que el valor ledo mediante scanf es el centinela 9999. Una secuencia
tpica de entrada pudiera ser
10 8 11 7 9 9999
Indicando que deben calcularse todos los valores que preceden a 9999.
#include <stdio.h>
/* programa que calcula el promedio entre varios numeros */
int main ()
{
/*Declaracion de variables */
int numero; /*variable que guarda el numero que se ingresa*/
double promedio= 0; /*variable que guarda el promedio de los numeros
introducidos*/
int contador;/*contador*/
int contadorDos=0;
int suma;

for (contador=1; contador <= 100000 ; contador++)


{
printf("introduce el numero, para finalizar utiliza -1\n");
scanf("%d",&numero);
if (numero== -1)
{
break;
}
suma=(promedio+numero);
promedio=suma;
contadorDos++;
}
promedio=suma/ contadorDos;
printf( " el promedio es %.2f",promedio);

getchar ();
getchar ();
getchar ();
getchar ();
getchar ();
getchar ();
return 0;

4.16) Una aplicacin interesante de las computadoras, es dibujar grficos y


graficas de barra (a veces llamadas histogramas. Escriba un programa que
lea cinco nmeros (cada uno de ellos entre 1 y 30). Para cada uno de los
nmeros ledos, su programa deber imprimir una lnea, conteniendo dicho
numero en asteriscos adyacentes. Por ejemplo, si su programa lee el numero 7,
deber imprimir *******
#include <stdio.h>
/* imprime en pantalla el un numero determinado de asteriscos, segun el valor numerico
que el usuario ingresa */
int main ()
{
/*Declaracion de variables */
int numero1,numero2,numero3,numero4,numero5;
/*variables que
guardan los cinco numeros que se ingresan*/
int numeroUno, numeroDos, numeroTres, numeroCuatro,numeroCinco; /*Variables
que donde se les suma 1 a los numeros ingresados por el usuario */
int contador;
/*El programa pide a los usuarios ingresar los cinco numeros */
printf("introduzca cinco numeros entre 1 y 30\n");
scanf("%d",&numero1);
scanf("%d",&numero2);
scanf("%d",&numero3);
scanf("%d",&numero4);
scanf("%d",&numero5);
/*Sumar uno a cada uno de los numero introducidos */
numeroUno= numero1 + 1;
numeroDos= numero2 + 1;
numeroTres= numero3 + 1;
numeroCuatro= numero4 + 1;
numeroCinco= numero5 + 1;

/* Cuerpo del programa */


for (contador=1; contador <= numeroUno ; contador++) /*Ciclo para el numero
uno ingresado por el usuario*/
{
if (contador== numeroUno)
{
printf("\n");
}
else
{
printf("* ");
}

for (contador=1; contador <= numeroDos ; contador++) /*Ciclo para el numero dos
ingresado por el usuario*/
{
if (contador== numeroDos)
{
printf("\n");
}
else
{
printf("* ");
}

}
for (contador=1; contador <= numeroTres ; contador++) /*Ciclo para el numero tres
ingresado por el usuario*/
{
if (contador== numeroTres)
{
printf("\n");
}
else
{
printf("* ");
}
}
for (contador=1; contador <= numeroCuatro ; contador++) /*Ciclo para el numero
cuatro ingresado por el usuario*/
{
if (contador== numeroCuatro)
{
printf("\n");
}
else
{
printf("* ");
}

}
for (contador=1; contador <= numeroCinco ; contador++) /*Ciclo para el numero
cinco ingresado por el usuario*/
{
if (contador== numeroCinco)
{
printf("\n");
}
else
{
printf("* ");
}

}
}

return 0;

Capitulo 5
5.8) Muestre el valor de x despus de que se hayan ejecutado los siguientes
enunciados:
a) x=fabs(7.5); x=7.5
b) x = floor (7.5) x= 7
c) x=fabs(0.0) x=0.0
d) x=ceil (0.0) x=0.0
e)x=fabs (-6.4) x= 6.4
f)x=ceil(-6.4) x =-6

g) x= ceil(-fabs(-8+floor(-5.5))) x= -14

5.17) Escriba una funcin multiple que determine un par de enteros, si el


segundo de ellos es mltiplo del primero. La funcin debe tomar dos
argumentos enteros y regresar verdadero, si el segundo es mltiplo del primero
y falso de no ser asi. Utilice esta funcin en un programa que introduzca una
serie de pares enteros.
#include <stdio.h>
/* Programa que determina si el segundo numero es multipo del primer numero */
int multiple (int numeroUno, int numeroDos); /* prototipo de la funcion */
int main ()
{
int num1, num2;
int multiplos;
printf ("Con este programa se va a ver si un par de numeros son multiplos \n Porfavor
introduzca dos numeros\n");
scanf ("%d", &num1);
scanf ("%d", &num2);
multiplos = multiple(num1, num2);
if ( multiplos == 0 )
{
printf ("%d es multiplo de %d",num1,num2);
}
else
{
printf ("%d No es multiplo de %d",num1,num2);
}
scanf("%d");
return 0;

int multiple (int numeroUno, int numeroDos)


{
int division;
if (numeroUno > numeroDos)
{
return (1);
}

if (numeroUno < numeroDos)


{
division=numeroDos % numeroUno;
if (division == 0)
}

return (0);

else
{
}

return (1);

}
}

5.26)
#include <stdio.h>
#include <math.h>
/* Programa que determina si el segundo numero es multipo del primer numero */
int perfectos (double numero); /* prototipo de la funcion */
int main ()
{
int numero=2;
int Perfect =0;
printf ("introduce un numero\n");
scanf ("%d", &numero);
Perfect= perfectos (numero);
printf ("el numero perfecto es %d",Perfect);

getchar ();
getchar ();
getchar ();
return 0;
}

int perfectos (double numeroUno)


{
double perfecto;
double numero;
numero=numeroUno - 1;
perfecto = (pow(2,numero))*(pow (2,numeroUno)-1);
return perfecto;
}

5.28)
#include <stdio.h>
#include <math.h>
/* Programa que retorna el numero invertido */
int invertir (int numero); /* prototipo de la funcion */
int main ()
{
int numero,invertido;
printf ("introduce un numero \n");
scanf ("%d", &numero);
invertido= invertir (numero);
printf ("el numero invertido es %d",invertido);
getchar();
getchar();
getchar();
getchar();

return 0;

int invertir (int numeroUno)


{
int inver =0;
while (numeroUno > 0)
{
inver = inver * 10 + (numeroUno % 10);
numeroUno = numeroUno / 10;
}
return inver;

Capitulo 6
Considere el arreglo t de 2 por 5
a) Escriba la declaracin para t.
#include <stdio.h>
#define FILAS 2
#define COLUMNAS 5
/* Arreglo de 2 por 5 */
int main ()
{
int t [ FILAS] [COLUMNAS];
return 0;

b)
c)
d)
e)

Cuntas filas tiene t? t tiene dos filas


Cuntas columnas tiene t? t tiene 5 columnas
Cuntos elementos tiene t? t tiene 10 elementos
Escriba los nombres de todos los elementos que se encuentran en la
segunda fila de t.
t[1][0], t[1][1], t[1][2], t[1][3], t[1][4].
f) Escriba los nombres de todos los elementos que se encuentran en la
tercera columna de t.
t[0][2], t[1][2]
g) Escriba una instruccin que establezca en cero el elemento de la fila 1 y
la columna 2 de t.
#include <stdio.h>
#define FILAS 2
#define COLUMNAS 5

/* Arreglo de 2 por 5 */
int main ()
{
int t [ FILAS] [COLUMNAS];
t[0][2]=0;
return 0;
}

h) Escriba una serie de instrucciones que inicialice en cero cada elemento


de t. No utilice una estructura de repeticin.
#include <stdio.h>
#define FILAS 2
#define COLUMNAS 5

/* Arreglo de 2 por 5 */
int main ()
{
int t [ FILAS] [COLUMNAS];
t
t
t
t
t
t
t
t
t
t

[0][0]=0;
[0][1]=0;
[0][2]=0;
[0][3]=0;
[0][4]=0;
[1][0]=0;
[1][1]=0;
[1][2]=0;
[1][3]=0;
[1][4]=0;

getchar ();
return 0;
}

i) Escriba una instruccin for anidada que inicialice en cero cada elemento
de t.
#include <stdio.h>
#define FILAS 2
#define COLUMNAS 5

/* Arreglo de 2 por 5 */
int main ()
{
int t [ FILAS] [COLUMNAS];
int c=0;
int b=0;

for (c =0; c<2;c++)


for (b=0;b<5;b++)
{
t [c][b]=0;
}
getchar ();

return 0;

j)

Escriba una serie de enunciados que imprima el valor mas pequeo de en el arreglo
t
#include <stdio.h>
#define FILAS 2
#define COLUMNAS 5
/* Arreglo de 2 por 5 */
int main ()
{
int t [ FILAS] [COLUMNAS];
int c=0;
int b=0;
int peque = t[0][0];
for (c =0; c<2;c++)
for (b=0;b<5;b++)
{
}

t [c][b]=0;

for (c =0; c<2;c++)


for (b=0;b<5;b++)
{
if (t[c][b] < peque)
peque =t [c][b];
}
printf ("el mas pequeo es %d",peque);
getchar ();

return 0;

Das könnte Ihnen auch gefallen