Ejemplos II de C

EJEMPLO 1:
Programa que carga un número y te dice si es par o impar

	#include<stdio.h>
	int main (void)
	{
		int num;
		printf("Introduce un numero: ");
		scanf("%i",&num);
		if(num%2==0)
			printf("El numero es par");
		else
			printf("El numero es impar");
		fflush(stdin);
		getchar();
		return 0;
	}
	

Lo que hemos hecho es bastante simple, le hemos puesto como condición que si el número se puede dividir entre 2 sea imprima par, y si no, impar :)

EJEMPLO 2:
Programa que carga un número de 3 cifras y me dice si es capicua o no lo es

	#include<stdio.h>
	int main (void)
	{
		int num,ult,prim;
		printf("Introduce un numero de 3 cifras");
		scanf("%i",&num);
		prim=num/100;
		ult=num%10;
		if(prim==ult)
			printf("El numero es capicua");
		else
			printf("El numero no es capicua");
		fflush(stdin);
		getchar();
		return 0;
	}
	

Aqui hemos usado la misma estructura que en el anterior ejemplo, lo único que cabe aclarar es que hemos separado las cifras primera y ultima del numero para compararlas después. prim=num/100, esto para la primera, al tratarse de números enteros, no coge decimales, por lo que p.ej.:prim=121/100=1. Para la última hemos usado el módulo, al igual que en uno de los ejemplos del bloque anterior.

EJEMPLO 3:
Programa que carga dos números enteros y me dice cual es el mayor o si son iguales

	#include<stdio.h>
	int main (void)
	{
		int numun, numdos;
		printf("Introduce el primer numero: ");
		scanf("%i",&numun);
		printf("Introduce el segundo numero: ");
		scanf("%i",&numdos);
		if(numun==numdos)
			printf("Son iguales");
		else
		{
			if(numun<numdos)
				printf("El mayor es %i",numdos);
			else
				printf("El mayor es %i",numun);
		}
		fflush(stdin);
		getchar();
		return 0;
	}
	

Hay una forma más corta de realizar este ejercicio, pero quería hacerlo asi para que veas que estas estructuras se enlazan unas con otras de forma muy sencilla, en otros ejercicios similares veremos como realizarlo más corto

EJEMPLO 4:
Programa que carga un número entero y muestra en pantalla todos los números desde el 1 hasta él

	#include<stdio.h>
	int main (void)
	{
		int num, i=0;
		printf("Introduce un numero entero: ");
		scanf("%i",&num);
		while(i<=num)
		{
			printf("%i\t",i);
			i++;
		}
		fflush(stdin);
		getchar();
		return 0;
	}
	

Como vemos, hemos inicializado la variable i a 0, y luego le hemos dicho que mientras que i sea menor que el número introducido, la imprima en pantalla y le sume 1 unidad a i. El caracter \t que hemos introducido es por cuestión de estética a la hora de mostrarlo, ya que asi entre número y número hará una sangría. Puede hacerse todo con un for, pero considero que debemos ver primero bien el while

EJEMPLO 5:
Programa que escribe los números pares menores que 20

	#include<stdio.h>
	int main (void)
	{
		int i=0;
		while(i<20)
		{
			printf("%i\t",i);
			i=i+2;
		}
		fflsuh(stdin);
		getchar();
		return 0;
	}
	

En este caso, hacemos lo del anterior pero le sumamos 2 a i para que sean pares los que muestre. El i=i+2; también podría ponerse i+=2;. Este ejercicio también se podría hacer con un for.

EJEMPLO 6:
Programa que carga números hasta que el usuario pulse el 0 y después me dice cuántos positivos y cuántos negativos he introducido

	#include<stdio.h>
	int main (void)
	{
		int num, pos=0, neg=0;
		do
		{
			printf("Introduce un número o 0 para salir: ");
			scanf("%i",&num);
			if(num<0)
				neg++;
			if(num>0)
				pos++;
		}while(num!=0);
		printf("La cantidad de positivos introducida es %i y de negativos es %i",pos,neg);
		fflush(stdin);
		getchar();
		return 0;
	}
	

Yo creo que no hace falta explicación de este no?? ;)

EJEMPLO 7:
Programa que carga números hasta que quiera el usuario, y cuando no quiera más muestra la suma de todos los introducidos

	#include<stdio.h>
	int main (void)
	{
		int num, suma=0;
		char op;
		do
		{
			printf("Introduce un número entero: ");
			scanf("%i",&num);
			suma+=num;
			printf("Quieres introducir mas numeros?(s/n): ");
			fflush(stdin);
			op=(char)getchar();
		}while(op=='s');
		printf("La suma de los numeros introducidos es de: %i",suma);
		fflsuh(stdin);
		getchar();
		return 0;
	}
	

Lo único que a estas alturas puede dar lugar a dudas es los caracteres. Le hemos dicho que op sea un caracter (char), para que lo almacene como tal, el que reciba del teclado. Luego le hemos dicho que repita el bucle siempre que op = s. Como sabemos, una forma de representar los caracteres es mediante el uso de comillas simples... Y creo que con esto explicado, se entiende todo no?

Si no entiendes algo pregunta aqui