Está en la página 1de 33

[ALGORITMOS EN LENGUAJE C]

Roberto Lpez 1C

PROGRAMACIN EN LENGUAJES
ESTRUCTURADOS

1) Hacer un programa que calcule y muestre la media de tres notas de un


alumno:
#include <stdio.h>
#include <conio.h>
void main()
{
float n1,n2,n3,media;
clrscr();
printf("*CALCULA LA MEDIA DE 3 NOTAS*\n\n");
printf("Introduzca 1 nota: ");
scanf("%f",&n1);
printf("Introduzca 2 nota: ");
scanf("%f",&n2);
printf("Introduzca 3 nota: ");
scanf("%f",&n3);
media=(n1+n2+n3)/3;
printf("La media es: %f", media);
getch ();
}

2) Calcula el precio de un viaje sabiendo que este se paga por km y cada km se


paga por 2:
#include <stdio.h>
#include <conio.h>
#define importe 2
void main()
{
float distancia,precio;
clrscr();
printf("*MUESTRA EL PRECIO DE UN VIAJE QUE CADA KILMETRO CUESTA 2 EUROS*\n\n");
printf("Introducir la distancia en KM:");
scanf("%f", &distancia);
precio=(distancia*importe);
printf("El precio es: %f", precio);
getch();
}

3) Mostrar cuantos euros son una cantidad dada por teclado:


#include <stdio.h>
#include <conio.h>
main()
{
float pesetas, euros;
clrscr ();
printf("*MUESTRA CUANTOS EUROS SON UNA CANTIDAD EN PESETAS*\n\n");
printf ("Introduzca las pesetas: ");
scanf ("%f", &pesetas);
euros = pesetas/166.386;
printf ("En euros es: %f", euros);
getch ();
}

Pgina
1

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
4) Mostrar el nuevo salario de un empleado si obtuvo un incremento del 8%
sobre el salario:
#include <stdio.h>
#include <conio.h>
#define inc 0.08
void main()
{
float salario, aumento;
clrscr();
printf("*MUESTRA EL SALARIO CON UN INCREMENTO DEL 8%*\n\n");
printf ("Salario del empleado: ");
scanf ("%f", &salario);
aumento= salario*inc;
printf ("Su nuevo salario es: %f", aumento+salario);
getch();
}

5) Dada la cantidad de Billetes 5,10,20 mostrar el importe total:


#include <stdio.h>
#include <conio.h>
void main ()
{
int cant5, cant10, cant20, importe;
clrscr();
printf("*CALCULA EL IMPORTE DADO UNA CANTIDAD DE BILLETES*
printf("Introduzca la cantidad de billetes de 5: ");
scanf("%d", &cant5);
printf("Introduzca la cantidad de billetes de 10: ");
scanf("%d", &cant10);
printf("Introduzca la cantidad de billetes de 20: ");
scanf("%d", &cant20);
importe=cant5*5+cant10*10+cant20*20;
printf ("Importe total: %d", importe);
getch();
}

6) Convertir una distancia en metros a kilmetros:


#include <stdio.h>
#include <conio.h>
#define km 1000
void main()
{
float metros, dist_km;
clrscr();
printf("*CONVIERTE DE M A KM*\n\n");
printf("Introduzca los metros: ");
scanf("%f", &metros);
dist_km=metros/km;
printf("La distancia en kilmetros es: %f", dist_km);
getch();
}

Pgina
2

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
7) Dados dos nmeros calcula la suma, la resta, la multiplicacin y divisin:
#include <stdio.h>
#include <conio.h>
void main()
{
float sum, res, mul, div, num1, num2;
clrscr();
printf("*CALCULA LA SUMA,RESTA,MULTIPLICACIN Y DIVISIN DE 2 NMEROS*\n\n");
printf("Introduzca el primer nmero: ");
scanf ("%f", &num1);
printf("Introduzca el segundo nmero: ");
scanf ("%f", &num2);
sum=num1+num2;
res=num1-num2;
mul=num1*num2;
div=num1/num2;
printf("La suma es %f\n", sum);
printf("La resta es %f\n", res);
printf("La multiplicacin es %f\n", mul);
printf("La divisin es %f\n", div);
getch();
}

8) Mostrar el rea de un cuadrado:


#include <stdio.h>
#include <conio.h>
void main()
{
float x, area;
clrscr();
printf("*MUESTRA EL REA DE UN CUADRADO*\n\n");
printf("Introduzca un lado: ");
scanf("%f", &x);
area=x*x;
printf("El area del cuadrado es: %f", area);
getch();
}

9) Mostrar el rea de un tringulo:


#include <stdio.h>
#include <conio.h>
void main()
{
float base, alt, area;
clrscr();
printf("*MUESTRA EL AREA DE UN TRINGULO*\n\n");
printf("Introduzca la base: ");
scanf("%f", &base);
printf("Introduzca la altura: ");
scanf("%f", &alt);
area=base*alt/2;
printf("El area del tri ngulo es: %f", area);
getch();
}

Pgina
3

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
Hacer un programa que muestre el valor absoluto de un nmero entero:
#include <stdio.h>
#include <conio.h>
void main()
{
int num;
clrscr();
printf("*MUESTRA EL VALOR ABSOLUTO*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&num);
if(num>=0)
{
printf("Su valor absoluto es: %d",num);
}
else
{
printf("Su valor absoluto es: %d",-num);
}
getch();
}

10)
Hacer un programa que nos informe si un nmero entero est entre el
intervalo [-5 y 5]:
#include <stdio.h>
#include <conio.h>
void main()
{
int x;
clrscr();
printf("*MUESTRA SI EL NMERO EST ENTRE -5 Y +5*\n\n");
printf("Introduzca un nmero: ");
scanf("%d", &x);
if (x>=-5 && x<=5)
{
printf("%d esta entre -5 y +5",x);
}
else
{
printf("%d no esta entre -5 y +5",x);
}
getch();
}

Pgina
4

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
11)
Hacer un programa que me muestre en texto si un nmero es entero,
positivo, negativo o cero:
#include <stdio.h>
#include <conio.h>
void main()
{
int x;
clrscr();
printf("*MUESTRA SI EL NMERO ES POSITIVO, NEGATIVO O CERO*\n\n");
printf("Introduzca un nmero: ");
scanf("%d", &x);
if(x>0)
{
printf("%d es un nmero positivo.", x);
}
else
{
if(x<0)
{
printf("%d es un nmero negativo. ", x);
}
else
{
printf("%d es cero. ", x);
}
}
getch();
}

12)
Hacer un programa que me indique si dos nmeros enteros son iguales
o no:
#include <stdio.h>
#include <conio.h>
void main()
{
int num1, num2;
clrscr();
printf("*MUESTRA SI DOS NMEROS SON IGUALES O NO*\n\n");
printf("Introduzca nmero: ");
scanf("%d", &num1);
printf("Introduzca nmero: ");
scanf("%d", &num2);
if (num1 == num2)
{
printf("Son nmeros iguales.");
}
else
{
printf("Son nmeros distintos.");
}
getch();
}

13)
Hacer un programa que me muestre el da de la semana
correspondiente a un nmero entero dado:
#include <stdio.h>
#include <conio.h>
void main()

Pgina
5

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
{
float x;
clrscr();
printf("*MUESTRA EL DIA DE LA SEMANA SEGN UN NMERO*\n\n");
printf("Introduzca un nmero: ");
scanf("%f", &x);
if(x>0 && x<8)
{
if(x==1)
{printf("Es Lunes");}
if(x==2)
{printf("Es Martes");}
if(x==3)
{printf("Es mircoles");}
if(x==4)
{printf("Es Jueves");}
if(x==5)
{printf("Es Viernes");}
if(x==6)
{printf("Es S bado");}
if(x==7)
{printf("Es Domingo");}
}
else
{printf("No es un nmero v lido");}
getch();
}

14)
Programa que introduzca un nmero entero por teclado, si este es 0 me
tiene que mostrar su valor en letra y si es distinto de 0 se visualiza su
cuadrado:
#include <stdio.h>
#include <conio.h>
void main()
{
int x, cuadrado;
clrscr();
printf("*MUESTRA EL CUADRADO DE UN NMERO*\n\n");
printf("Introduzca un nmero: ");
scanf("%d", &x);
if(x==0)
{printf("es Cero.");}
else
{
cuadrado=x*x;
printf("Su cuadrado es %d", cuadrado);
}
getch();
}

Pgina
6

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
15)
Hacer un programa que dados tres nmeros enteros por teclado me
muestre el mayor:
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, c;
clrscr();
printf("*MUESTRA EL MAYOR DE 3 NUM.*\n\n");
printf("Introduce un nmero: ");
scanf("%d", &a);
printf("Introduce un nmero: ");
scanf("%d", &b);
printf("Introduce un nmero: ");
scanf("%d", &c);
if (a<c && b<c)
{
printf("El mayor es %d", c);
}
else
{
if (c<a && b<a)
{
printf("El mayor es %d", a);
}
else
{
printf("El mayor es %d", b);
}
}
getch();
}

16)
Hacer un algoritmo que determine si dados dos nmeros por teclado el
primero es divisor del segundo:
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b;
clrscr();
printf("*DIVISOR DE UN NUM.*\n\n");
printf("Introduzca un num: ");
scanf("%d", &a);
printf("Introduzca otro num: ");
scanf("%d", &b);
if(a%b==0)
{
printf("Es divisible");
}
else
{
printf("No es divisible");
}
getch();
}

17)

Dado un nmero entero X por teclado, determina si es par o no:


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

Pgina
7

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
int x;
clrscr();
printf("*DETERMINA SI ES PAR O NO*\n\n");
printf("Introduzca un num: ");
scanf("%d", &x);
if (x%2==0)
{
printf("Es par");
}
else
{
printf("Es Impar");
}
getch();
}

18)
Hacer un programa que dado por teclado una hora,minuto y segundo
correctos, muestre la misma un segundo despus:
#include <stdio.h>
#include <conio.h>
void main()
{
int h, m, s;
clrscr();
printf("*MUESTRA LA HORA 1 SEGUNDO DESPUS*\n\n");
printf("Introduzca la hora: ");
scanf("%d", &h);
printf("Introduzca los minutos: ");
scanf("%d", &m);
printf("Introduzca los segundos: ");
scanf("%d", &s);
if (s<=59 && m<=59 && h<=23)
{
s=s+1;
if(s==60)
{
s=0;
m=m+1;
}
if(m==60)
{
m=0;
h=h+1;
}
if(h==24)
{
h=0;
}
printf("Si le sumas un segundo ser n las %d:%d:%d", h, m, s);
}
else
{
printf("No es una hora correcta");
}
getch();
}

19)
Hacer un programa que me muestre la cantidad que tengo que pagar
por una llamada telefnica sabiendo que los primeros 15 min valen 15 ctms el
min, pero apartir del 5 minuto cada min cuesta 5 ctms:
#include <stdio.h>
#include <conio.h>
void main()
{
int x,min1,min2;

Pgina
8

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
clrscr();
printf("*PRECIO DE UNA LLAMADA TELEFNICA*\n\n");
printf("Introduzca los minutos: ");
scanf("%d", &x);
if(x<=5)
{
min1=x*15;
printf("Tendr que pagar %d cntimos", min1);
}
else
{
min2=(x-5)*5+75;
printf("Tendr que pagar %d cntimos", min2);
}
getch();
}

20)

Hacer un algoritmo que me valide una fecha por teclado:


#include <stdio.h>
#include <conio.h>
void main()
{
int d,m,a;
clrscr();
printf("*VALIDA UNA FECHA*\n\n");
printf("Introduzca da: ");
scanf("%d",&d);
printf("Introduzca mes: ");
scanf("%d",&m);
printf("Introduzca ao: ");
scanf("%d",&a);
if(d>=1 && d<=31 && a>0 && m>=1 && m<=12)
{
if(m==1|m==3|m==5|m==7|m==8|m==10|m==12)
{
printf("Fecha Correcta");
}
else
{
if(m==4|m==6|m==9|m==11)
{
if (d<=30)
{
printf("Fecha Correcta");
}
else
{
printf("Fecha Incorrecta");
}
}
else
{
if(d<=28)
{
printf("Fecha Correcta");
}
else
{
printf("Fecha Incorrecta");
}
}
}
}
else

Pgina
9

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
{
printf("Fecha Incorrecta");
}
getch();
}

21)

Mostrar la raz cuadrada de un nmero:


#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float x, raiz;
clrscr();
printf("*MUESTRA LA RAIZ CUADRADA*\n\n");
printf("Introduzca un nmero: ");
scanf("%f", &x);
if(x>=0)
{
printf("Su raiz cuadrada es %f", sqrt(x));
}
else
{
printf("Su raiz cuadrada es %f*i",sqrt(-x));
}
getch();
}

22)

Calcula una expresin de segundo grado, AX2+Bx+c;


#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
int a, b, c;
float x1, x2, raiz;
clrscr();
printf("*CALCULA EXPRESION 2 GRADO (ax2+bx+c)*\n\n");
printf("Escribe el valor de A: ");
scanf("%d", &a);
printf("Escribe el valor de B: ");
scanf("%d", &b);
printf("Escribe el valor de C: ");
scanf("%d", &c);
raiz=b*b-4*a*c;
if(raiz>=0)
{
printf("Su raiz es %d/n", ((-b+sqrt(raiz))/(2*a)));
printf("Su raiz es %d", ((-b-sqrt(raiz))/(2*a)));
}
else
{
x1=-b/(2.0*a);

Pgina
10

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
x2=sqrt(-raiz)/(2*a);
printf("%f + %fi", x1, x2);
printf("%f - %fi", x1, x2);
}
getch();
}

23)
Hacer un algoritmo que muestre los 10 primeros nmeros pares
empezando por el 2:
#include <stdio.h>
#include <conio.h>
void main()
{
int i;
clrscr();
printf("*MUESTRA LOS 10 PRIMEROS N PARES, EMPEZANDO POR 2*\n\n");
i=0;
while(i<20)
{
i=i+2;
printf("%d ",i);
}
getch();
}

24)

Calcula y visualiza la suma de los 100 primeros nmeros naturales:


#include <conio.h>
#include <stdio.h>
void main()
{
int i, suma;
clrscr();
printf("*VISUALIZA LA SUMA DE LOS 100 PRIMEROS N*\n\n");
suma=0;
i=1;
while(i<=100)
{
suma=suma+i;
i=i+1;
}
printf("La suma es: %d", suma);
getch();
}

25)
Dado un nmero entero positivo calcular la suma desde 1 hasta dicho
nmero:
#include <stdio.h>
#include <conio.h>
void main()
{
int i, suma, n;
clrscr();
printf("*CALCULA LA SUMA DE 1 HASTA UN N*\n\n");
printf("Introduzca un nmero: " );
scanf("%d",&n);
i=1;

Pgina
11

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
suma=0;
while(i<=n)
{
suma=suma+i;
i=i+1;
}
printf("La suma desde 1 hasta ese nmero es: %d", suma);
getch();
}

26)
Crea un programa que permita visualizar los nmeros comprendidos
entre dos nmeros dados por teclado:
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b;
clrscr();
printf("*MUESTRA LOS NMEROS COMPRENDIDOS ENTRE DOS NMEROS*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&a);
printf("Introduzca otro nmero: ");
scanf("%d", &b);
if(a<=b)
while(a<=b)
{
printf("%d ",a);
a=a+1;
}
else
while(b<=a)
{
printf("%d ",b);
b=b+1;
}
getch();
}

27)
Calcular la suma de los nmeros comprendidos entre dos nmeros
dados por teclado:
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b, s;
clrscr();
printf("*SUMA LOS NMEROS COMPRENDIDOS ENTRE DOS NMEROS*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&a);
printf("Introduzca otro nmero: ");
scanf("%d",&b);
s=0;
if(a<=b)
while(a<=b)
{
s=s+a;
a=a+1;
}
else
while(b<=a)
{
s=s+a;
b=b+1;
}

Pgina
12

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
printf("%d", s);
getch();
}

28)

Calcula la media de 15 nmeros reales dados por teclado:


#include <stdio.h>
#include <conio.h>
void main()
{
float n, i, s;
clrscr();
printf("*REALIZA LA MEDIA DE 15 NMEROS*\n\n");
s=0;
i=1;
while(i<=15)
{
scanf("%f", &n);
i=i+1;
s=s+n;
}
s=s/15;
printf("La media es %f", s);
getch();
}

29)
Visualizar los nmeros enteros comprendidos entre dos nmeros
previamente introducidos por teclado empezando por el mayor y
disminuyendo de siete en siete:
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b;
clrscr();
printf("*MUESTRA LOS N COMPRENDIDOS ENTRE 2 N DISMINUYENDO DE 7 EN 7*\n\n");
printf("Introduzca un nmero: ");
scanf("%d", &a);
printf("Introduzca otro nmero: ");
scanf("%d",&b);
if(a>=b)
while(a>=b)
{
printf("%d ",a);
a=a-7;
}
else
while (b>=a)
{
printf("%d ",b);
b=b-7;
}
getch();
}

30)

Hacer un programa que intercambie el valor de dos variables:


#include <stdio.h>
#include <conio.h>
void main()
{
int a, b, r;
clrscr();

Pgina
13

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
printf("*INTERCAMBIA EL VALOR DE DOS VARIABLES*\n\n");
printf("Introduzca un nmero (A): ");
scanf("%d", &a);
printf("Introduzca otro nmero (B): ");
scanf("%d", &b);
r=a;
a=b;
b=r;
printf("A es ahora %d\n", a);
printf("B es ahora %d", b);
getch();
}

31)
Crear un programa que permita visualizar los nmeros comprendidos
entre 0 y 120.
#include <stdio.h>
#include <conio.h>
void main()
{
int i;
clrscr();
printf("*VISUALIZA LOS NMEROS ENTRE 0 Y 10*\n\n");
i=0;
while(i<=120)
{
printf("%d ", i);
i=i+1
}
getch();
}

32)

Algoritmo que muestre los 10 primeros nmeros pares empezando en 2.


#include<stdio.h>
#include<conio.h>
void main (){
clrscr();
printf("*MUESTRA LOS 10 PRIMEROS N PARES EMPEZANDO POR EL 2*\n\n);
int num;
num = 0;
while (num < 1 || num > 12){
printf ("Introduzca un nmero comprendido entre 1 y 12: ");
scanf("%d", &num);
if (num < 1 || num > 12){
printf("El nmero %d no est en el intervalo. Vuelva a intentarlo\n", num);
}
}
getch();
}

33)
Crea un programa, para visualizar la suma de los nmeros enteros
comprendidos entre 0 y 100.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
printf(*VISUALIZA LA SUMA DE LOS N ENTRE 0 Y 100*\n\n);

Pgina
14

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
int i = 0;
while (i <= 100){
printf ("%d ", i);
i++;
}
getch();
}

34)
Crea un programa que permita visualizar los nmeros enteros
comprendidos entre 5 y un nmero introducido por teclado.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
printf(*VISUALIZA LOS NMEROS ENTRE 5 Y OTRO*\n\n);
int num;
printf("introduzca el nmero: ");
scanf("%d", &num);
if (num > 5){
while (num >= 5){
printf("%d ", num);
num--;
}
} else {
while (num <= 5){
printf("%d ", num);
num++;
}
}
getch();
}

35)
Crea un programa que permita visualizar los nmeros enteros
comprendidos entre dos previamente introducidos por teclado
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
printf(*VISUALIZA LOS N COMPRENDIDOS ENTRE 2*\n\n);
int num, num2;
printf("Introduzca el nmero: ");
scanf("%d", &num);
printf("Introduzca otro nmero: ");
scanf("%d", &num2);
if (num > num2){
while (num >= num2){
printf("%d ", num);
num--;
}
} else {
while (num <= num2){
printf("%d ", num);
num++;
}
}
getch();
}

Pgina
15

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C

36)
Modifica el programa anterior para que muestre los nmeros de mayor a
menor.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
printf(*MUESTRA LOS N DE MAYOR A MENOR*\n\n);
int num, num2;
printf("Introduzca el nmero: ");
scanf("%d", &num);
printf("Introduzca otro nmero: ");
scanf("%d", &num2);
if (num > num2){
while (num >= num2){
printf("%d ", num);
num--;
}
} else {
while (num <= num2){
printf("%d ", num2);
num2--;
}
}
getch();
}

37)
Visualiza la suma de los enteros comprendidos entre 0 y otro nmero
(validado mayor que cero) introducido por teclado.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
printf(*SUMA LOS ENTEROS COMPRENDIDOS ENTRE 0 Y UN N MAYOR QUE STE*\n\n);
int num, suma;
printf("Introduzca el nmero mayor que cero: ");
scanf("%d", &num);
if (num <= 0){
sum = 0
while (0 < num){
suma = suma + num;
num--;
}
printf("La suma es: %d", suma);
} else {
printf("Error");
}
getch();
}

38)
Visualiza la suma de los enteros comprendidos entre dos nmeros
previamente introducidos por teclado.
#include<conio.h>
#include<stdio.h>
void main () {

Pgina
16

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
clrscr();
int a, b, suma;
printf("*VISUALIZA LA SUMA DE LOS ENTEROS COMPRENDIDOS ENTRE 2 N*\n\n");
suma = 0;
printf("Introduzca el primer nmero: ");
scanf("%d", &a);
printf("Introduzca el nmero siguiente: ");
scanf("%d", &b);
if (a<b)
while(a<=b){
a=a+1;
suma=suma+a;
}
else
while (b<=a){
b=b+1;
suma=suma+b;
}
printf("La suma es: %d", suma);
getch();
}

39)

Obtener la media de 15 nmeros decimales (flotantes) por teclado.

#include <stdio.h>
#include <conio.h>
void main()
{
int A,B,Suma,I;
clrscr();
printf(*OBTIENE LA MEDIA DE 15 N*\n\n);
printf("Introduzca A= ");
scanf("%d",&A);
printf("Introduzca B= ");
scanf("%d",&B);
Suma=0;
if (A<=B)
while (A<=B)
{
Suma=Suma+A;
A=A+1;
}
else
while (B<=A)
{
Suma=Suma+B;
B=B+1;
}
printf("La Suma es: %d",Suma);
getch();
}

40)
Visualizar la media de una serie de nmeros decimales introducidos por
teclado. Antes se deber indicar la cantidad de nmeros que van a intervenir
en el clculo de lvalor medio.
#include <stdio.h>
#include <conio.h>
void main(){

Pgina
17

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
float n,i,s,cantn,media;
clrscr();
printf("*REALIZA LA MEDIA DE UNA SERIE DE N*\n\n");
i=0;
s=0;
printf("Introduzca la cantidad de notas: ");
scanf("%f", &cantn);
while(i<cantn){
printf("Introduzca nota: ");
scanf("%f ",&n);
i=i+1;
s=s+n;
}
media=s/cantn;
printf("La media es %f", media);
getch();
}

41)
Obtener los enteros comprendidos entre dos nmeros previamente
introducidos por teclado, el programa debe empezar por el menor e ir
incrementando de cinco en cinco.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
int a,b;
printf("*VISUALIZA LA SUMA DE LOS ENTEROS COMPRENDIDOS ENTRE 2 N Y INCREMENTANDO DE
5 EN 5*\n\n");
if (a<=b){
while (a<=b){
printf("Introduzca un nmero ");
scanf("%d", &a);
a=a+5;
}
} else {
while (b<=a){
printf("Introduzca un nmero: ");
scanf("%d", &b);
b=b+5;
}
}
getch();
}

42)
Introducir un nmero entero por teclado, validando que sea mayor que
otro introducido previamente
#include<stdio.h>
#include<conio.h>
void main (){
clrscr();
printf(*VALIDA QUE UN N SEA MAYOR QUE OTRO*\n\n);
int primero, mayor;

Pgina
18

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
printf ("Introduzca el primer nmero: ");
scanf ("%d", &primero);
printf ("Introduzca un nmero mayor que el anterior: ");
scanf ("%d", &mayor);
while (primero >= mayor){
printf("El nmero %d no es mayor que %d. Vuelva a intentarlo: ", mayor, primero);
scanf ("%d", &mayor);
}
getch();
}

43)
Visualizar los enteros comprendidos entre dos nmeros previamente
introducidos por teclado, empezando por el mayor y disminuyendo de siete
en siete.
#include <stdio.h>
#include <conio.h>
void main(){
int a,b;
clrscr();
printf("*VISUALIZA LOS ENTEROS COMPRENDIDOS ENTRE 2 N, DISMINUYENDO DE 7 EN 7*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&a);
printf("Introduzca otro nmero: ");
scanf("%d",&b);
if (a>=b)
{
while(a>=b){
printf("%d ",a);
a=a-7;
}
}
else
{
while(b>=a){
printf("%d ",b);
b=b-7;
}
}
getch();
}

44)
Crea un programa que permita visualizar los nmeros enteros
comprendidos entre dos previamente introducidos desde teclado; adems el
programa debe impedir que los nmeros introducidos sean iguales.
#include<stdio.h>
#include<conio.h>
void main(){
int a,b;
clrscr();
printf("*Visualiza los n comprendidos entre 2 n*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&a);
printf("Introduzca otro nmero: ");
scanf("%d",&b);
if(a==b)
printf("Error");

Pgina
19

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
else{
if(a<=b){
while(a<=b){
printf("%d",a);
a=a+1;
}
}
else{
while(b<=a){
printf("%d",b);
b=b+1;
}
}
}
getch();
}

45)

Programa que muestre la tabla del 8.


#include<conio.h>
#include<stdio.h>
#define c 8
void main(){
int i, total;
clrscr();
printf("*Tabla del 8*\n\n");
i=0;
while(i<=10){
total=c*i;
printf("%d x %d = %d\n",c,i,total);
i++;
}
getch();
}

46)
Visualizar la tabla de un nmero entero introducido por teclado,
validado mayor que 0 y menor que 20.
#include<conio.h>
#include<stdio.h>
void main(){
int i,total,n;
clrscr();
printf("*Tablas del 1 al 20*\n\n");
printf("Introduzca un n: ");
scanf("%d",&n);
while(n<0&&n>20)
{
printf("Introduzca un n: ");
scanf("%d",&n);
}
if(n<=20 && n>=0)
{
i=0;
while(i<=10)
{
total=n*i;
printf("%d * %d = %d\n",n,i,total);
i=i+1;
}
}
else{
printf("Error");}
getch();
}

Pgina
20

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
47)
Calcular la media de un conjunto de notas de alumnos. El valor 99
detecta fin de entrada de notas.
#include<conio.h>
#include<stdio.h>
void main () {
clrscr();
float num, total, suma;
printf("*CALCULA LA MEDIA DE UN CONJUNTO DE NOTAS.-99 ES FIN.*\n\n");
num = 0;
total = -1;
suma = 0;
while (num != -99){
suma = suma + num;
total++;
printf("Introduzca la nota: ");
scanf("%f", &num);
}
if (total > 0){
printf("La media es: %f", suma/total);
} else {
printf("No se puede hallar la media");
}
getch();
}

48)
Realizar la validacin de entrada de datos para valores comprendidos
entre 1 y 12. En caso contrario me seguir pidiendo el valor.
#include<stdio.h>
#include<conio.h>
void main (){
int num;
clrscr();
printf("*VALIDA LA ENTRADA DE DATOS PARA N COMPRENDIDOS ENTRE 1 Y 12*\n\n");
num = 0;
while (num < 1 || num > 12){
printf ("Introduzca un nmero comprendido entre 1 y 12: ");
scanf("%d", &num);
if (num < 1 || num > 12){
printf("El nmero %d no est en el intervalo. Vuelva a intentarlo.\n", num);
}
}
getch();
}

49)

Imprimir las 30 primeras potencias de 2.


#include<stdio.h>
#include<conio.h>
void main()
{
float i,n;
clrscr();
printf("30 primeras potencias de 2.\n\n");
i=0;
n=2;
while(i<=30){
printf("%f ",n);
n=n*2;
i=i+1;
}

Pgina
21

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
getch();
}
Imprimir las 30 primeras potencias de 4.
#include<stdio.h>
#include<conio.h>
void main()
{
float i,n;
clrscr();
printf("30 primeras potencias de 4.\n\n");
i=0;
n=2;
while(i<=30){
printf("%f ",n);
n=n*4;
i=i+1;
}
getch();
}

50)
Encontrar el entero positivo mas pequeo para el cual la suma de
1+2+1++num sea menor que el lmite dado por teclado.Ej: Lmite 11: el
resultado sera 4, Lmite 25:el resultado sera 6.

51)

#include<stdio.h>
#include<conio.h>
void main() {
int suma,n,lim;
suma=0;
n=0;
clrscr();
printf("Introduzca un limite: ");
scanf("%d",&lim);
while(lim>(suma+(n+1)))
{
n=n+1;
suma=suma+n;
}
printf("El resultado es: %d",n);
getch();
}

Determinar el valor mximo y mnimo de una lista de 100 nmeros.

#include<stdio.h>
#include<conio.h>
void main() {
int max,min,num,i;
max=0;
min=0;
i=1;
clrscr();
printf("*Valor maximo y minimo de 100 numeros*\n\n");
printf("Escriba un nmero: ");
scanf("%d",&num);
max=num;
min=num;
while(i<100)
{
printf("Escriba un numero: ");
scanf("%d",&num);
if(num>max)
max=num;
if(num<min)
min=num;
i++;
}
printf("El maximo es %d y el minimo %d",max,min);
getch();

Pgina
22

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
}

52)
Determinar la media de una lista indefinida de numeros positivos,
terminando con uno negativo.
#include<conio.h>
#include<stdio.h>
void main()
{
int i,suma,n,media;
clrscr();
i=0;
suma=0;
printf("*Media de una serie de nmeros. 0 es fin*\n\n");
printf("Introduce un nmero: ");
scanf("%d",&n);
while(n>0){
suma=suma+n;
i++;
printf("Introduce un nmero: ");
scanf("%d",&n);
}
if(i==0){
printf("0 no es media de nada _");
}
if(n==0){
media=suma/i;
printf("La media es %d", media);
}
getch();
}

53)
Dados N nmeros por teclado, siendo el 0 el que indica fin de nmeros.
Hacer el programa para indicar cul es el nmero ms pequeo y cul es el
mayor.
#include<conio.h>
#include<stdio.h>
void main()
{
int max,min,n;
clrscr();
printf("*Indica el n mayor y menor. 0 es fin*\n\n");
printf("Introduce un nmero: ");
scanf("%d",&n);
while(n!=0){
if(n>max){
max=n;
}
if(n<min){
min=n;
}
printf("Introduce un nmero: ");
scanf("%d",&n);
}
printf("El m ximo es %d y el mnimo %d",max,min);
getch();
}

54)
Calcular la suma de lso cuadrados de los 100 primeros nmeros
naturales.
#include<stdio.h>
#include<conio.h>
void main(){
int suma,i,n;
i=0;
suma=0;
clrscr();
printf("*Cuadrados de los 100 primeros nmeros*\n\n");

Pgina
23

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
while(i<=100){
i++;
n=i;
n=n*n;
suma=suma+n;
}
printf("La suma es %ld", suma);
getch();
}

55)
Mostrar los N primeros mltiplos de 4, donde N es un valor introducido
por teclado.
#include<stdio.h>
#include<conio.h>
void main(){
int a,n,mul;
clrscr();
printf("*Mltiplos de 4*\n\n");
printf("Introduce un nmero: ");
scanf("%d",&n);
for(a=1 ; a<=n ; a++){
mul=4*a;
printf("%d ",mul);
}
getch();
}

56)
Calcular y mostrar los cuadrados de una serie de nmeros introducidos
por teclado y mostrar tambin cuantos nmeros se han introducido. La marca
de fin de entrada de datos es 0.
#include<stdio.h>
#include<conio.h>
void main(){
int n,i;
clrscr();
printf("*Calcula los cuadrados y cu ntos nmeros se han introducido*\n\n");
printf("Introduzca un nmero: ");
scanf("%d",&n);
i=0;
while(n!=0)
{
printf("Su cuadrado es: %d\n",n*n);
printf("Introduzca un nmero: ");
scanf("%d",&n);
i++;
}
printf("Se han introducido %d nmeros",i);
getch();
}

57)
Calcular y mostrar cuntas cifras posee un nmero entero positivo
introducido por teclado.
#include<stdio.h>
#include<conio.h>
void main()
{
int num,i;
clrscr();
printf("Nmero de cifras que tiene un numero entero positivo\n\n");
i=0;
printf("Mete un nmero: ");
scanf("%d",&num);
if(num==0)
printf("Tiene 1 cifra");
else{
while(num>0){
num=num/10;

Pgina
24

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
i++;
}
printf("Tiene %d cifras",i);
}
getch();
}

58)
Hacer el programa que calcule ab , siendo a y b dos nmeros
cualesquiera dados por teclado.
#include<stdio.h>
#include<conio.h>
void main(){
int a,b,i,res;
clrscr();
printf("Calcula a elevado a b\n\n");
printf("Mete un nmero A: ");
scanf("%d",&a);
printf("Mete un nmero B: ");
scanf("%d",&b);
if(b==0)
printf("El resultado es 1");
if(b>0) {
i=0;
res=1;
while(b>i){
res=res*a;
i++;
}
printf("El resultado es %d",res);
}
if(b<0) {
i=0;
res=1;
while(b<i){
res=res*a;
i--;
}
res=1/res;
printf("El resultado es %d",res);
}
getch();
}

59)
Dados 100 nmeros por teclado calcular y mostrar el entero mayor y las
veces que aparece.
#include<stdio.h>
#include<conio.h>
void main(){
clrscr();
int i,num,max,rep;
printf("Muestra el nmero mayor y las veces que aparece\n\n");
printf("Introduce 100 nmeros.\n ");
scanf("%d ",&num);
max=num;
rep=1;
for(i=1;i<100;i++)
{
scanf("%d",&num);
if(num>max)
{
max=num;
rep=1;
}
else if(num==max){
rep=rep+1;

Pgina
25

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C

60)

}
}
printf("El mayor es %d y se repite %d veces",max,rep);
getch();
}

Imprimir la tabla de multiplicar.

#include<stdio.h>
#include<conio.h>
void main()
{
int j,i,mul;
clrscr();
printf("*Tablas de multiplicar,1 al 10*\n\n");
j=1;
while(j<=10)
{
printf("Tabla del %d\n", j);
i=1;
while(i<=10)
{
mul=j*i;
printf("%d x %d = %d\n",j,i,mul);
i=i+1;
}
j=j+1;
getch();
}
}

61)
Realizar el algoritmo que escriba los 10 primeros nmeros de la serie de
Fibonacci. La serie de Fibonacci es 1,2,3,5,8,13,.......
#include<stdio.h>
#include<conio.h>
void main(){
clrscr();
int a,b,c,i;
printf("10 primeros num de la serie de Fibonacci.\n\n");
a=0;
b=1;
c=0;
i=0;
while(i<10)
{
c=a+b;
printf("%d ",c);
a=b;
b=c;
i++;
}
getch();
}

62)
Algoritmo que calcule la multiplicacin de dos nmeros (enteros
positivos) por sumas sucesivas.
#include<stdio.h>
#include<conio.h>
void main(){
int a,b,c,i;
clrscr();
printf("Multiplicacion de 2 num. por sumas susesivas\n\n");
printf("Introduzca num: ");
scanf("%d",&a);
printf("Introduzca otro num: ");
scanf("%d",&b);
c=0;
i=0;

Pgina
26

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C

63)

while(i<b)
{
c=c+a;
i++;
}
printf("El resultado es %d ",c);
getch();
}

Lee un nmero entero positivo N y escribe la lista de sus divisores.

#include<stdio.h>
#include<conio.h>
void main(){
clrscr();
printf("Divisores de un num.\n\n");
int i,n,suma;
printf("Introduce num: ");
scanf("%d",&n);
i=1;
suma=0;
while(i<=n)
{
if(n%i==0)
{
printf("%d ",i);
suma=suma+i;
}
i++;
}
getch();
}

64)
Leer una serie de nmeros positivos, hasta introducir uno negativo, y
calcular y escribir para cada uno de ellos la suma de sus divisores.
#include<stdio.h>
#include<conio.h>
void main(){
clrscr();
int n,i,suma,total;
printf("Suma los divisores de una serie de nmeros positivos.\n\n");
printf("Introduce num: ");
scanf("%d",&n);
total=0;
while(n>0)
{
suma=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
suma=suma+i;
}
}
total=total+suma;
printf("Introduce num: ");
scanf("%d",&n);
}
if(total>0)
printf("La suma de sus divisores es %d",total);
else
printf("No has introducido ningun nmero.");
getch();
}

Pgina
27

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
65)
Determinar si un nmero es perfecto. Un nmero es perfecto si la suma
de sus divisores excluido l, es igual a dicho nmero. Ejemplo el 6, el 28, el
496 son nmeros perfectos.
#include<stdio.h>
#include<conio.h>
void main(){
int n,i,suma;
clrscr();
printf("Determina si un numero es perfecto o no.\n\n");
printf("Introduce num: ");
scanf("%d",&n);
suma=0;
for(i=1;i<=n/2;i++)
{
if(n%i==0)
{
suma=suma+i;
}
}
if(suma==n)
printf("Nmero perfecto.");
else
printf("No es un nmero perfecto.");
getch();
}

66)
Calcular la divisin de dos nmeros (enteros positivos) por restas
sucesivas y mostrar el cociente y el resto.
#include<stdio.h>
#include<conio.h>
void main(){
int a,b,resta,i;
clrscr();
printf("Divisin por restas susesivas.\n\n");
printf("Introduce dividendo: ");
scanf("%d",&a);
printf("Introduce divisor: ");
scanf("%d",&b);
while(a<0 || b<0)
{
printf("Introduce dividendo: ");
scanf("%d",&a);
printf("Introduce divisor: ");
scanf("%d",&b);
}
resta=a;
i=0;
while(resta>=b)
{
resta=resta-b;
i++;
}
printf("El cociente es %d y el resto %d",i,resta);
getch();
}

67)
Hacer un programa que ensee a multiplicar a un nio. Se mostrar por
pantalla _x_=_, se admitirn dos nmeros y un resultado. Se mostrara la frase
CORRECTO o en caso contrario la frase TE HAS EQUIVOCADO y la solucin
correcta.
#include<stdio.h>

Pgina
28

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
#include<conio.h>
void main(){
clrscr();
int a,b,res,mul;
printf("Programa que ensea a multiplicar a un nio.\n\n");
printf("Introduce num: ");
scanf("%d",&a);
printf("Introduce num: ");
scanf("%d",&b);
printf("Introduce el resultado de la multiplicacion: ");
scanf("%d",&res);
mul=a*b;
if(a*b==res)
printf("Correcto! Eres un nio muy listo.");
else
printf("Ups! Te has equivocado. El resultado de %d x %d es %d y no %d.",a,b,mul,res);
getch();
}

68)
Mostrar los nmeros pares desde la unidad hasta un nmero
introducido desde teclado y decir cuantos son.
#include<stdio.h>
#include<conio.h>
void main(){
int i,j,n;
clrscr();
printf("Muestra los num. pares desde la unidad hasta un num.\n\n");
printf("Introduce num: ");
scanf("%d",&n);
j=0;
if(n>0)
{
for(i=2;i<=n;i=i+2)
{
printf("%d ",i);
j=j+1;
}
printf("\nEn total son %d nmeros",j);
}
if(n<0)
{
for(i=0;i>=n;i=i-2)
{
printf("%d ",i);
j=j+1;
}
printf("\nEn total son %d nmeros",j);
}
getch();
}

69)
Leer un nmero entero positivo N y visualizar su tabla de multiplicar y
la de los 10 siguientes nmeros.
#include<stdio.h>
#include<conio.h>
void main(){
int n,i,j;
clrscr();
printf("Tabla de multiplicar de un nmero y sus 10 siguientes.\n\n");
printf("Introduce num: ");
scanf("%d",&n);
i=n+10;

Pgina
29

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
while(n<=i)
{
j=0;
printf("Tabla del %d\n",n);
while(j<=10)
{
printf("%d * %d = %d\n",n,j,n*j);
j++;
}
n=n+1;
printf("\n");
getch();
}
getch();
}

70)
Realizar el algoritmo que me diga si un nmero introducido por teclado
es primo.

71)

72)

#include<stdio.h>
#include<conio.h>
void main(){
int j,i,n;
clrscr();
printf("Indica si un num. es primo o no.\n\n");
printf("Introduce num: ");
scanf("%d",&n);
j=0;
i=0;
while(i<=n)
{
i++;
if(n%i==0)
j=j+1;
}
if(j==2)
printf("Es primo!");
else
printf("No es primo!");
getch();
}

Hacer un programa que visualice en pantalla

#include<stdio.h>
#include<conio.h>
void main(){
int x,i;
clrscr();
x=9;
while(x>=1)
{
for(i=1;i<=x;i++)
{
printf("%d",i);
}
printf("\n");
x--;
}
getch();
}

Hacer un programa que visualice en pantalla

#include<stdio.h>
#include<conio.h>
void main(){
int j,i;
clrscr();
j=1;
while(j<=10)

Pgina
30

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
{
i=1;
while(i<j)
{
printf("%d",i);
i++;
}
j++;
printf("\n");
}
getch();
}

73)
Hacer un programa para calcular el nmero del tarot. Este nmero se
consigue sumando la fecha de nacimiento y a continuacin reducirlo a un solo
dgito.
#include<stdio.h>
#include<conio.h>
void main(){
int suma,d,m,a,n;
clrscr();
printf("Calcula el num de tarot dada una fecha.\n\n");
printf("Introduzca da: ");
scanf("%d",&d);
printf("Introduzca mes: ");
scanf("%d",&m);
printf("Introduzca ao: ");
scanf("%d",&a);
suma=d+m+a;
while(suma>9)
{
n=0;
while(suma>0)
{
n=suma%10+n;
suma=suma/10;
}
suma=n;
}
printf("%d",n);
getch();
}

74)
Hacer un programa en C que me indique si dos nmeros son amigos o
no. Se dice que dos nmeros son amigos si la suma de los divisores del
primero (exceptuando el nmero) es igual al segundo y la suma de los
divisores del segundo (exceptuando el nmero) es igual al primero.
#include<stdio.h>
#include<conio.h>
void main() {
int x,y,i,si,s2;
clrscr();
printf("Numeros Amigos o no.\n");
printf("Introduzca num: ");
scanf("%d",&x);
printf("Introduzca otro num: ");
scanf("%d",&y);
si=0;
s2=0;
for(i=1;i<=x/2;i++)
{
if(x%i==0)
{
si=si+i;
}
}

Pgina
31

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
if(si!=y)
printf("No Son Amigos");
else
{
for(i=1;i<=y/2;i++)
{
if(y%i==0)
s2=s2+i;
}
if(s2==x)
printf("Son Amigos");
else
printf("No Son Amigos");
}
getch();
}

75)
Hacer un programa en C que calcule los centros numricos de 1 a 5000.
Un centro numrico es un nmero que separa una lista de nmeros enteros
(comenzando en 1) en dos grupos de nmeros, cuyas sumas son iguales. El
primer centro numrico es el 6, el cual separa la lista (1 a 8) entre los grupos
(1,2,3,4,5) y (7,8) cuyas sumas en ambas son iguales a 15. El segundo centro
numrico es el 35 separa la lista (1 a 49) en (1 a 34) y (36 a 49) sumando
595).
#include<stdio.h>
#include<conio.h>
void main() {
int w,i,debajonum,encimanum;
clrscr();
printf("Centros numericos del 1 al 5000\n\n");
i=2;
while(i<=5000)
{
debajonum=0;encimanum=0;w=1;
while(w<i)
{
debajonum=debajonum+w;
w=w+1;
}
while(debajonum>encimanum)
{
w=w+1;
encimanum=encimanum+w;
}
if(debajonum==encimanum)
{
printf("El %d es centro numerico\n",i);
}
i++;
}
getch();
}

76)
Mostrar en pantalla un tablero de ajedrez donde las casillas blancas se
mostrarn por una B y las negras N. El programa deber marcar con * las
casillas a las que se puede mover un alfil desde una posicin dada.

110.- Dada una constante por teclado convertirla en maysculas


109.- Dada una cadena elimina el primer carcter
111.- Dadas dos cadenas aadir a la primera cadena la segunda
108.- Hacer un algoritmo que me diga cuantas vocales hay en una cadena

Pgina
32

[ALGORITMOS EN LENGUAJE C]
Roberto Lpez 1C
107 .- Hacer un programa que diga cuantas letras tiene un string
106.- Hacer un programa donde dado un array de N elementos sustituya los nmeros repetidos por (-1) y muestre cuantas sustituciones hizo.
103.- Dado un vector a[1.. n], ordenado crecientemente hasta la posicin n - 1, especificar un algoritmo que inserte el elemento a[n] en el lugar
que le corresponda del subvector a[1.. n -1] de forma que el vector a[1.. n] resultante est ordenado crecientemente.
104.- Dados dos array de nmeros enteros, (no tienen nmeros repetidos cada un de ellos). Hacer un programa para obtener otro array con los
valores de la unin de los dos primeros.
105.- Dados dos array de nmeros enteros, (no tienen nmeros repetidos cada uno de ellos). Hacer un programa para obtener otro array con los
valores de la interseccin de los dos primeros.
102.- Un vector de N nmeros enteros se dice que es gaspariforme si todas sus sumas parciales son no negativas y la suma total es igual a cero.
Se llama suma parcial a toda suma a[1]+a[i],, 1 in. Realiza un programa al que se le pasa a dice si el vector es gaspariforme.
101.- Un vector de N nmeros enteros se dice que es melchoriforme si alguno de sus elementos es un centro . Un elemento es un centro si su
valor coincide con la suma de los restantes elementos del vector. Realiza un programa que dado el vector a decida si es o no melchoriforme.
100.- Hacer un programa que ordene segn el mtodo de la burbuja

Pgina
33