You are on page 1of 12

/*-------------------------*/

/* Solucion al ejercicio */
/* propuesto 3.1.1a */
/* s020501.c */
/* */
/* Crear un programa */
/* que pida al usuario */
/* un nmero entero */
/* y diga si es par */
/* */
/* */
/* comillas */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/

#include <stdio.h>

main()
{
int numero;
printf("Introduce un nmero\n");
scanf("%d", &numero);
if (numero%2==0) printf("El nmero es par\n");
else printf("El nmero no es par\n");
}

/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.1b */
/* */
/* */
/* Crear un programa */
/* que pida al usuario */
/* dos nmeros enteros */
/* y diga cual es */
/* el mayor de ellos. */
/* */
/* */
/* */
/* */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/

#include <stdio.h>

main()
{
int numero1, numero2;
printf("Introduce un nmero\n");
scanf("%d", &numero1);
printf("Introduce otro nmero\n");
scanf("%d", &numero2);
if (numero1>numero2) printf("El %d es mayor que el %d\n", numero1, numero2);
if (numero2>numero1) printf("El %d es mayor que el %d\n", numero2, numero1);
if (numero1==numero2) printf("Son el mismo nmero!\n");
}

/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.1c */
/* */
/* */
/* Crear un programa */
/* que pida al usuario */
/* dos nmeros enteros */
/* y diga si el */
/* primero es mlti- */
/* plo del segundo. */
/* */
/* */
/* */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/

#include <stdio.h>

main()
{
int numero1, numero2;
printf("Introduce un nmero\n");
scanf("%d", &numero1);
printf("Introduce otro nmero\n");
scanf("%d", &numero2);
if (numero1%numero2==0) printf("El %d es mltiplo de %d\n", numero1, numero2);
else printf("El %d no es mltiplo de %d\n", numero1, numero2);

Otro ms. Me est cosatando el comentario inicial XD

/*------------------------------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.3a */
/* */
/* */
/* Crear un programa */
/* que multiplique */
/* dos nmeros enteros */
/* de la siguiente forma: */
/* pedir al usuario */
/* un primer nmero */
/* entero. */
/* Si el nmero que se que teclee es 0, */
/* escribir en pantalla: */
/* El producto de 0 */
/* por cualquier nmero es 0 . */
/* Si se ha tecleado */
/* un nmero distinto de cero, */
/* se pedir al usuario un segundo nmero */
/* y se mostrar el producto de ambos. */
/* */
/* */
/* */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*------------------------------------------------*/

#include <stdio.h>

main()
{
int numero1, numero2;
printf("Introduce un nmero\n");
scanf("%d", &numero1);
if(numero1==0) printf("Cualquier nmero multiplicado por 0 es 0\n");
else
{
printf("Introduce otro nmero\n");
scanf("%d", &numero2);
printf("El resultado de multiplicar %d por %d es: %d\n", numero1, numero2,
numero1*numero2);
}

/*---------------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.3b */
/* */
/* */
/* Crear un programa */
/* que pida dos nmeros */
/* reales slo si el segundo */
/* no es cero. */
/* */
/* */
/* */
/* */
/* */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------------*/

#include <stdio.h>

main()
{
int numero1, numero2;
printf("Introduce un nmero\n");
scanf("%d", &numero1);
printf("Introduce otro nmero\n");
scanf("%d", &numero2);
if(numero2==0) printf("ERROR! No se puede dividir entre 0\n");
else printf("El resultado de dividir %d entre %d es: %d\n", numero1, numero2,
numero1/numero2);

09-Jan-2010 13:38

emuletas yp

/*---------------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.4a */
/* */
/* */
/* Crear un programa que */
/* multiplique */
/* dos nmeros enteros */
/* de la siguiente forma... */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------------*/

#include <stdio.h>

main()
{
int numero1, numero2;
printf("Introduce un nmero\n");
scanf("%d", &numero1);
if(numero1==0) printf("El resultado de multiplicar un nmero por 0 es 0\n");
else{
printf("Introduce otro nmero\n");
scanf("%d", &numero2);
printf("El resultado de multiplicar %d por %d es: %d\n", numero1, numero2,
numero1*numero2);
}

/*---------------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.5a */
/* */
/* */
/* Crear un programa que pida */
/* una letra al usuario y diga */
/* si se trata de una vocal */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------------*/

#include <stdio.h>
main()
{
char letra;
printf("Introduce una letra\n");
letra=getchar();
if(letra=='a'||letra=='e'||letra=='i'||letra=='o'||letra=='u') printf("La letra %c es una vocal\n",
letra);
else printf("La letra %c no es una vocal\n", letra);
}

/*---------------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.5b */
/* Crear un programa */
/* que pida al usuario */
/* dos nmeros enteros y diga */
/* Uno de los nmeros es positivo */
/* Los dos nmeros son positivos */
/* o bien Ninguno de los nmeros */
/* es positivo ... */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------------*/

#include

main()
{
int num1, num2;
printf("Introduce un nmero\n");
scanf("%d", &num1);
printf("Introduce otro nmero\n");
scanf("%d", &num2);
if(num1&gt;0 && num2&gt;0) printf("Los dos nmeros son positivos\n");
else if(num1&gt;0 || num2&gt;0) printf("Uno de los dos nmeros es positivo\n");
if(num1<0 && num2<0) printf("Ninguno de los dos nmeros es positivo\n");
}

Ejercicio de pgina 46, objetivo 3.1.5: Crear un programa que pida una letra al usuario y
diga si se trata de una vocal.

#include <stdio.h>
#include <stdlib.h>

main() {
char x;
printf("Teclea una letra: ");
scanf("%c", &x), getchar();
if ((x=='a')|(x=='e')|(x=='i')|(x=='o')|(x=='u')) printf("Es una vocal.");
else (printf("Es una consonante."));
getchar();
}
Ejercicio de pgina 54, objetivo 3.1.10: Crear un programa que lea una letra tecleada por
el usuario y diga si se trata de una vocal, una cifra numrica o una consonante.

#include <stdio.h>
#include <stdlib.h>

main() {
char tecla;
printf("Pulse una tecla y luego Intro: ");
scanf("%c", &tecla), getchar();
switch (tecla)
{
case ' ': printf("Has tecleado espacio.\n");
break;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '0': printf("Es un digito.\n");
break;
case 'a':
case 'e':
case 'i':
case 'o':
case 'u': printf("Es una vocal.\n");
break;
default: printf("Es una consonante.\n");
}
getchar();
}

Ejercicio de pgina 55, objetivo 3.2.1: Crea un programa que escriba en pantalla los
numeros del 1 al 10, usando while .

#include <stdio.h>
#include <stdlib.h>

main()

{
int x, y, z;
y = 1;
while (x!=10)
{
x = y++;
printf("%d\n", x);
}
getchar();
}

Ejercicio de pgina 56, objetivo 3.2.2: Crear un programa que pida nmeros positivos al
usuario, y vaya calculando la suma de todos ellos (terminara cuando se teclea un nmero
negativo o cero).

#include <stdio.h>
#include <stdlib.h>

main() {
int x, y, z, a;
printf("Introduzca un numero positivo: ");
scanf("%d", &x), getchar();
printf("Escribe otro numero positivo: ");
scanf("%d", &y), getchar();
z = x+y;
if ((x<0) | (y<0)) printf("Numero invalido");
else
{
printf("Su suma es %d\n", z);
do
{
printf("Escribe otro numero positivo: ");
scanf("%d", &a), getchar();
z = z+a;
if (a>0) printf("Su suma es %d\n", z);
else
printf("No valido!\n");
}
while (a>0);
printf("Adios.\n");
}
getchar();
}

/*INICIO DEL PROGRAMA. Lo hare un poco exagerado*/

#include <stdio.h>
main()

/* Introducimos las variables, en este caso, es una*/

float numero;

int vint=1;

/*Pedimos los datos*/

printf("Introduce el numero que quieres comprobar\n");

/*Guardamos los datos*/

scanf("%f", &numero);

/*Bien, ya tenemos el numero, ahora miramos las cifras.


En este ejercicio te piden que lo hagas dividiendo entre diez*/

/*Usamos for y la variable vint, que debe empezar por uno, cosa que
sera utilizada despues para mostrar el numero de cifras.
El for piensatelo :D*/

for(vint=1; vint>=vint; vint++){

if(numero<10) break;
else numero=numero/10;
}

printf("El numero tiene %d cifras\n", vint);

/*Finalmente, aadimos esto, :D*/

do{
printf("Please! Mi pequeo cerebro no dio con una solucin :D \n");
}while(vint=vint);

/*Saludos!*/
}

#include <stdio.h>

main()
{
float numero;
int vint=1;
printf("Introduce el numero que quieres comprobar\n");
scanf("%f", &numero);
while(numero>=10)
{
numero=numero/10;
vint++;
}
printf("El numero tiene %d cifras\n", vint);
}

- La operacin "numero=numero/10;" tambin se puede escribir abreviada como "numero


/= 10;" Esta alternativa es ms "al estilo C", y adems permite al compilador crear un
cdigo mquina ms eficiente, al hacer evidente que slo se trabaja con una variable,
que no es necesario operar sobre un dato para guardarlo en otra variable distinta.

#include <stdio.h>

main()
{
int numero;
int cifras = 1;

printf("Introduce un numero: ");


scanf("%d", &numero);
while(numero>=10)
{
numero /= 10;
cifras ++;
}
printf("El numero tiene %d cifras\n", cifras);
}

S que hay diferencia entre | y ||. Son totalmente distintos: | es una suma de bits (lo que
se conoce como una operacin "OR lgica"), mientras que || quiere decir "o", para
enlazar dos condiciones.

Por ejemplo,

if ((x != 2) | (z != 3)) ...

para comprobar una condicin es incorrecto, debera ser

if ((x != 2) || (z != 3)) ...

mientras que el operador | se usa para fijar ciertos bits de un nmero a 1. Por ejemplo,
podras hacer que el ltimo bit (el "menos significativo") de un nmero fuese uno con:

dato = dato | 1;

Como puedes ver, | tiene un uso mucho ms avanzado, porque supone saber qu
utilidad tiene eso de manipular bits de forma individual, y eso no es algo evidente, sino
que se aplica slo a casos muy concretos, mientras que un "o" (||) aparece en
muchsimas comprobaciones de condiciones.

Lo mismo ocurre con el operador && ("y", en condiciones) y el operador "&" (producto bit
a bit).

You might also like