Está en la página 1de 13

EJERCICIOS SENCILLOS EN C.

Crear un programa en C que lea dos nmeros y que escriba el mayor de los dos.

#include <stdio.h> int main(){


double x,y; printf("Escribe el primer nmero"); scanf("%lf",&x); printf("Escribe el segundo nmero"); scanf("%lf",&y); if(x>y) printf("El mayor es %f",x); else if(y>x) printf("El mayor es %f",y); else printf("Son iguales");

Crear un programa en C que lea un nmero e indique si es par o no.

#include <stdio.h> int main(){


int x; printf("Escribe el nmero (sin decimales"); scanf("%i",&x); if(x%2==0) printf("Es par"); else printf("Es impar");

Leer tres nmeros y escribir el mayor de los tres.

#include <stdio.h> int main(){


double x,y,z; //Lectura de datos printf("Escribe el primer nmero"); scanf("%lf",&x); printf("Escribe el segundo nmero"); scanf("%lf",&y); printf("Escribe el tercer nmero");

scanf("%lf",&z); if(x>y && x>z) { //El mayor es x if(y>z) printf("\t%lf\t%lf\t%lf", x, y, z); else printf("\t%lf\t%lf\t%lf", x, z, y); } else if (y>x && y>z) { //El mayor es y if (x>z) printf("\t%lf\t%lf\t%lf", y, x, z); else printf("\t%lf\t%lf\t%lf", y, z, x); } else { //El mayor es z if (x>y) printf("\t%lf\t%lf\t%lf", z, x, y); else printf("\t%lf\t%lf\t%lf", z, y, x); }

Escribir un programa en C que lea nmeros enteros indefinidamente hasta que llegue el nmero 0.

#include <stdio.h> int main(){


int x; do{ scanf("%i",&x); }while(x!=0);

Escribir un programa C que lea exactamente 8 nmeros y luego escriba la suma de todos ellos.

#include <stdio.h> int main(){


int x; int suma=0; for(int i=1; i<=8; i++){ scanf("%i",&x); suma+=x; } printf ("Suma= %i",suma);

Modificar el programa anterior para que en lugar de leer 8 nmeros, se puedan leer tantos nmeros como se quiera hasta que llegue un cero. El resultado es la suma de todos los nmeros ledos.

#include <stdio.h> int main(){


int x; int suma=0; do{ scanf("%i",&x); suma+=x; }while (x!=0); printf ("Suma= %i",suma);

Intentar escribir un programa en C que lea tres nmeros e indique el tipo de tringulo que forman (issceles, equilatero, escaleno). Comprobar que los nmeros realmente formen un tringulo, sino emitir el error.

#include <stdio.h> int main(){


int x,y,z; printf ("Escribe el primer lado"); scanf("%i",&x); printf ("\nEscribe el segundo lado"); scanf("%i",&y); printf ("\nEscribe el tercer lado"); scanf("%i",&z); printf("\n\n\n"); //Saltar tres lneas /*Comprobacin de si es un tingulo, damos por hecho que los nmeros son positivos */ if ((x+y>z) && (x+z>y) && (y+z)>x){ if (x==y && x==z) printf ("Equiltero"); else if (x==y || x==z || y==z) printf ("Issceles"); else printf("Escaleno"); } else printf("Esos nmeros no forman un tringulo");

Modificar el programa anterior para que se pueda repetir indefinidamente si el usuario lo desea (que el ordenador pregunte Quiere continuar? y la persona pueda responder S N)

#include <stdio.h> int main(){


int x,y,z; char resp; do { printf ("Escribe el primer lado"); scanf("%i",&x); printf ("\nEscribe el segundo lado"); scanf("%i",&y); printf ("\nEscribe el tercer lado"); scanf("%i",&z); printf("\n\n\n"); //Saltar tres lneas /*Comprobacin de si es un tringulo, damos por hecho que los nmeros son positivos */ if ((x+y>z) && (x+z>y) && (y+z)>x){ if (x==y && x==z) printf ("Equiltero"); else if (x==y || x==z || y==z) printf ("Issceles"); else printf("Escaleno"); } else printf("Esos nmeros no forman un tringulo"); printf("\nDesea continuar (S/N)?)"); scanf("%c",&resp); }while (resp!='N' && resp!='n');

Escribir un programa que escriba todos los mltiplos de 3 del nmero 1 al 3000.

#include <stdio.h> int main(){


for(int i;i<=1000;i+=3) printf("%i\t",i);

Programa que lea una serie de nmeros (leer hasta que llegue el cero por ejemplo) y que calcule su media aritmtica.

#include <stdio.h> int main(){


int i,suma=0,cont=0; do{ printf("\nNmero: "); scanf("%i",&i); suma+=i; if (i!=0) cont++; }while (i!=0); if(cont!=0) printf("\nMedia: %5.2f",(float)suma/cont); else printf("\nNo hubo nmeros");

Programa que escriba todo el cdigo ASCII (el cdigo ASCII va de 0 a 255 y representa el nmero con el que los ordenadores almacenan los caracteres).

#include <stdio.h> int main(){


for(int i=0;i<=255;i++){ printf("%c(%i)\t",i,(int)i); //Salto de lnea cada 5 smbolos if (i%10==5) printf("\n"); }

}
Programa que lea un nmero entero por teclado y que calcule su factorial.

#include <stdio.h> int main(){


int x; double fact=1; printf("Escriba el nmero: "); scanf("%i",&x); while(x>1) fact*=x--; printf("Factorial =%lf",fact);

Programa que lea una serie de nmeros por teclado e indique cul es el mayor.

#include <stdio.h> int main(){


int i,mayor=0; do{ printf("\nNmero: "); scanf("%i",&i); if (mayor<i) mayor=i; }while (i!=0); printf("\nEl mayor es %i",mayor);

Crear un programa que lea un nmero entero y a partir de l cree un cuadrado de asteriscos con ese tamao. Los asteriscos slo se vern en el borde del cuadrado, no en el interior-

#include <stdio.h> int main(){


int n,fila,col; printf("tamao del cuadrado: "); scanf("%d",&n); /*Primera fila*/ for(col=1;col<=n;col++){ printf("*"); } printf("\n"); /*Filas interiores*/ for(fila=2;fila<n;fila++){ printf("*"); for(col=2;col<n;col++){ printf(" "); } printf("*"); printf("\n"); } /* ltima fila*/ for(col=1;col<=n;col++){

printf("*");

Crear un programa C que lea cantidades y precios y al final indique el total de la factura. Primero se pregunta: Introduzca la cantidad vendida tras lo cual el usuario introducir un nmero entero positivo. Despus se pregunta: Introduzca el precio que ser un nmero decimal positivo. La lectura termina cuando en la cantidad se introduzca un cero. Si es as se escribir el total.

#include <stdio.h> int main(){


int n; double precio, total=0; do{ do{ printf("\nIntroduzca la cantidad vendida: "); scanf("%d",&n); if(n<0) printf("Cantidad no valida"); }while(n<0); if (n>0){ printf("Introduzca el precio: "); do{ scanf("%lf",&precio); if(precio<0) printf("Precio no valido"); else total+=n*precio; }while(precio<0); } }while(n!=0); printf("Total vendido = %.2f", total);

Crear un programa para calcular los salario semanal de unos empleados a los que se les paga 15 euros por hora si stas no superan las 35 horas. Cada hora por encima de 35 se considerar extra y se paga a 22 . El programa pide las horas del trabajador y devuelve el salario que se le debe pagar. Adems el programa debe preguntar si deseamos calcular otro salario, si es as el programa se vuelve a repetir

#include <stdio.h> #include <conio.h> int main(){


char resp; const intJORNADA=35,PRECIO_NORMAL=12,PRECIO_EXTRA=22; int horas, salario; do{ printf("Horas trabajadas: "); scanf("%d",&horas); if(horas<=35) salario=horas*PRECIO_NORMAL; elsesalario=JORNADA*PRECIO_NORMAL+(horasJORNADA)*PRECIO_EXTRA; printf("Salario = %d euros\n\n", salario); fflush(stdin); /* Para limpiar el buffer de teclado */ printf("Desea calcular otro salario (s/n)?\n"); scanf("%c",&resp); } while(resp!='S' && resp!='s');

Escribir un programa en C que lea nmeros enteros indefinidamente hasta que llegue el nmero 0.

#include <stdio.h> int main(){


int x; do{ scanf("%i",&x); }while(x!=0);

Crear el programa asteriscos4 en el que se introduce un nmero entero y se crea una pirmide de asteriscos. Por ejemplo si se introduce el 6, el resultado sera:
* *** ***** ******* *********

***********.

#include <stdio.h> int main(){


int n,fila,col; printf("tamao de la piramide: "); scanf("%d",&n); for(fila=1;fila<=n;fila++){ /* Espacios en blanco*/ for(col=1;col<=n-fila;col++){ printf(" "); } for(col=1;col<=2*fila-1;col++){ printf("*"); } printf("\n"); }

Modificar el ejercicio anterior para que aparezca un rombo.

#include <stdio.h> int main(){


int n,fila,col; printf("tamao de la piramide: "); scanf("%d",&n); for(fila=1;fila<=n;fila++){ /* Espacios en blanco*/ for(col=1;col<=n-fila;col++){ printf(" "); } for(col=1;col<=2*fila-1;col++){ printf("*"); } printf("\n"); } /* Escritura de la parte inferior */ for(fila=n-1;fila>=1;fila--){+ /* Espacios en blanco*/ for(col=1;col<=n-fila;col++){ printf(" "); } for(col=1;col<=2*fila-1;col++){ printf("*");

} printf("\n");

Crear un programa qu escriba dos columnas de nmeros, en la primera se colocan los nmeros del 1 al 100, en la segunda los nmeros del 100 al 1.

#include <stdio.h> int main(){


int col1=1, col2=100; while(col1<=100){ printf("%d\t\%d\n",col1,col2); col1++; col2--; }

Crear un programa en C que lea un nmero entero y positivo y que escriba tres columnas. La primera cuenta desde uno hasta el nmero escrito contando de uno en uno; la segunda columna cuenta de dos en dos y la tercera de tres.

#include <stdio.h> int main(){


int col1=1, col2=1,col3=1; int n; printf("Escriba el nmero: "); scanf("%d",&n); while(col1<=n){ printf("%d",col1); if(col2<=n) { printf("\t%d",col2); if(col3<=n){ printf("\t%d",col3); col3+=3; } col2+=2; } printf("\n"); col1++; }

}
Crear el programa tablaMultiplicar que escriba la tabla de multiplicar del nmero 1 al nmero 15

#include <stdio.h> int main(){


const int TAMANIO=15; int i,j; for(i=1;i<=15;i++){ for(j=1;j<=15;j++){ printf("%4d",i*j); } printf("\n"); }

Crear un programa que muestre un men como este: 1) Salir 2) Sumatorio 3) Factorial Tras mostrar el men, el programa debe leer un nmero del 1 al tres si se elige 1, el programa acaba. Si se elige 2 se calcula el sumatorio del nmero, si se elige 3 se calcula el factorial (en ambos casos el programa pedir escribir el nmero sobre el que se calcula el sumatorio o el factorial). Tras calcular el sumatorio o el factorial e indicar el resultado, el programa volver a mostrar el men y as sucesivamente.

#include <stdio.h> #include <conio.h> int main(){


int seleccion; int n,aux; double res; do{ /* Mostrar el men*/ do{ printf("1 Salir\n2 Sumatorio\n");

printf("3 Factorial\n\nEscriba su opcion"); scanf("%d",&seleccion); }while(seleccion!=1 && seleccion!=2 && seleccion!=3); if(seleccion==2){/* Sumatorio */ printf("Escriba el numero sobre el que quiere el sumatorio"); scanf("%d",&n); res=0; for(aux=n;aux>=1;aux--) res+=aux; printf("El sumatorio es: %.0lf\n"); printf("Pulse cualquier tecla para continuar\n\n\n",res); getch(); } else if(seleccion==3){ /* Factorial */ printf("Escriba el numero sobre el que quiere el factorial"); scanf("%d",&n); res=1; for(aux=n;aux>=1;aux--) res*=aux; printf("El sumatorio es: %.0lf\n"); printf("Pulse cualquier tecla para continuar\n\n\n",res); getch(); } }while(seleccion!=1);

Crear un programa que lea un nmero e indique su valor en la sucesin de Fibonacci (llamarle Fibonacci). Esta sucesin calcula su valor de la siguiente manera. Slo es vlido para nmeros positivos, si el nmero es un uno, la sucesin vale 1 si es dos, la sucesin vale 2. Para el resto la sucesin es la suma de la sucesin de los dos nmeros anteriores. Es decir, para 7 el valor sera lo que valga la sucesin de 6 ms la sucesin de cinco.

#include <stdio.h> int main(){


int f1=1,f2=1;/*Valores anteriores*/ int n,cont; double res=1; /* Resultado final */ do{

printf("Escriba el nmero: "); scanf("%d",&n); if(n<=0) printf("Numero no valido\n"); }while(n<=0); for(cont=3;cont<=n;cont++){ res=f1+f2; f1=f2; f2=res; }

printf("Resultado: %.0f",res);

También podría gustarte