Ejercicio en C ++

1. Programa que imprima la suma de dos números naturales (por tanto positivos) tomándolos del teclado.
-2. Programa que lee cinco veces tres números y los imprime ordenados ascendentemente.
-3. Programa que imprima la suma, resta, multiplicación y división de dos números reales en simple precisión
tomándolos del teclado.
-4. Programa que lea sobre dos variables X y Y de tipo carácter, intercambie el contenido de las mismas e imprima
sus contenidos.
-5. Programa que imprima la n-ésima potencia de un número entero tomándolo del teclado.
-6. Programa para calcular e imprimir el volumen de una esfera, leyendo el valor de su radio.
-7. Programa para realizar la conversión de una temperatura dada en grados centígrados a grados Kelvin.
-8. Programa para leer un número real y comprobar e imprimir si dicho número es fraccionario.
-9. Programa que lee una calificación numérica entre 0 y 100 y la transforma en nota alfabética según la siguiente
tabla:
nota< 25 MD
25 <= nota <50 INS
50 <= nota < 60 SUF
60 <= nota <75 BIEN
75 <= nota <95 NOT
95 <= nota <l00 SOB
-10. Programa que lea tres números y calcule e imprima el menor de ellos.
-11. Programa que visualiza el cubo de un entero, dado por teclado.
-12. Programa que obtenga el producto de dos números enteros y positivos mediante sumas sucesivas, y lo imprima.
-13. Programa que obtenga el cociente y el resto de la división entera de dos números enteros y positivos mediante
restas sucesivas, y los imprima.
-14. Programa que visualiza la raíz cuadrada de un entero, dado por teclado (por aproximación).
-15. Programa que calcula e imprime la suma de los N primeros números naturales positivos de un conjunto de
enteros.
-16. Programa que calcula e imprime la suma de los números pares comprendidos entre 2 y 1000, ambos inclusive.
-17. Programa que cuente el número de valores nulos aparecidos en una secuencia de números enteros terminada
en un número negativo.
-18. Programa que visualiza el cociente real de dos enteros, dados por teclado.
-19. Programa que obtenga e imprima la lista de los divisores pares de un número entero N.
-20. Programa que visualiza todos los caracteres alfabéticos, junto con sus códigos ASCII en decimal.
-21. Programa que visualiza la serie de los n primeros numeros impares.
-22. Programa que lea una lista de N números y calcule e imprima : el número mayor, el número menor y la media
de la lista.
-23. Programa que imprima una tabla de conversión de kilómetros a millas (1 Milla = 1.609 km), desde 0 km hasta 50
km con un incremento de 100 m.
-24. Programa que lea una serie de números terminada en el número -999, y calcule e imprima la media de los
positivos introducidos.
-25. Escribir un programa para sumar los números del 1 al 100, no terminados en 5.
-26. Programa que calcule e imprima la suma de los números pares comprendidos entre 10 y 30 (ambos inclusive).
-27. Programa que lea una serie de 100 números enteros y positivos y determine: cuantos son menores que 15,
cuantos son mayores que 50, cuantos están comprendidos entre 45 y 55.
-28. Programa que determine si dos números enteros positivos son amigos. Dos números son amigos si la suma de
los divisores del primero excepto el mismo es igual al segundo y viceversa.
-29. Programa que obtenga las tablas de multiplicar del 1 al 10.
-30. Programa que lea un número entero positivo y calcule e imprima cuantas cifras tiene.
-31. Escribir un programa en lenguaje C que permita realizar el control del gasto de gasolina realizado por un
automóvil , de forma que lea las informaciones relativas a litros de gasolina y kilómetros realizados en varios
llenados del depósito y obtenga los kilómetros por litro realizados en cada llenado y los kilómetros por litro
correspondientes a los totales.
-32. Escribir un programa C que demuestre la diferencia entre pre-incrementar y post-incrementar, utilizando el
operador incremento ++.
-33. Función que calcula el primo más próximo a uno dado.
-34. Programa que propone combinaciones de euromillón.
-35. Programa que visualiza la suma de los treinta primeros números primos.
-36. Programa que lea dos números enteros y positivos, y calcula e imprime los múltiplos del primero, inferiores al
segundo.
-37. Función que visualiza la dirección de memoria en que se encuentra una variable.
-38. Función que rellena un vector de números pseudoaleatorios crecientes, si es posible.
-39. Función que rellena de enteros aleatorios una matriz de tres dimensiones, a través de un sólo indice.
-40. Programa que sustituye todas las vocales de una frase por la misma vocal, que el usuario decida, y la visualice.
-41. Programa que permite al usuario escribir una frase tan grande como el usuario quiera, la almacena en memoria,
y la visualiza en pantalla.
-42. Programa que lea un número entero positivo, controlando la entrada de datos, y compruebe si es perfecto o no,
emitiendo un mensaje. Un número es perfecto si la suma de sus divisores excepto él mismo es igual al propio
número.
-43. Programa que calcule y almacene los 4 primeros números perfectos.
-44. Programa que lea una frase en una cadena de caracteres y cuente el número de vocales que contiene.
-45. Programa que visualiza uy! cada vez que tocamos una tecla, excepto la q, con la que se sale del programa.
-46. Función que recoge una frase y nos visualiza una estadística de los caracteres que la componen.
-47. Programa que lee frases hasta que se introduzca la frase nula (Enter) y nos visualiza una estadística de los
caracteres totales que han aparecido entre todas.
-48. Programa que lea una cadena de caracteres y la imprima normalmente e invirtiendo el orden de sus caracteres.
-49. Programa que lea una cadena de caracteres, intercale entre cada dos un espacio y la imprima.
-50. Programa que lea una cadena de caracteres, sustituya todos los espacios por asteriscos y la imprima.
-51. Escribir una función que cuente el número de espacios que contiene una cadena.
-52. Escribir una función que borre una subcadena de una cadena. La función debe recibir las dos cadenas como
parámetros y devolver un 1 si se ha podido borrar o un 0 en caso contrario.
-53. Escribir una función para reducir cada grupo de espacios consecutivos contenidos en una cadena a uno solo.
-54. Escribir una función que borre todas las veces que aparezca una cadena en otra, devolviendo el número de
borrados realizados.
-55. Función que sustituya todas las veces que aparezca una cadena en otra por una tercera.
-56. Función que inserte la cadena "##" al principio y al final de una cadena.
-57. Función que inserte la cadena "--" antes de cada letra en mayúsculas de una cadena.
-58. Programa que lee 100 palabras, y obtiene e imprime la de máxima longitud y la de mínima. Si hay varias, se debe
imprimir la última de ellas.
-59. Escribir un programa en C para imprimir la siguiente pirámide de dígitos, leyendo el número de filas a imprimir:
1
232
34543
4567654
567898765
-60. Escribir un programa en C que convierta una cantidad entera, positiva y menor que 3000, controlando la
entrada de datos, a numeración romana, permitiendo que el proceso se repita varias veces.
-61. Escribir un programa C que lea el lado de un cuadrado y a continuación lo imprima utilizando asteriscos. El
programa controlará la entrada de datos permitiendo cuadros de lado entre 1 y 20.
-62. Escribir una función que tenga un carácter como parámetro y devuelva cierto o falso según éste sea dígito o no.
-63. Escribir una función que tenga como parámetro un número entero y que devuelva 1 si el valor de número es par
y 0 si es impar.
-64. Escribir una función que reciba como parámetros tres valores reales y los ordene en sentido creciente.
-65. Leer un número en base 2, como cadena de unos y ceros y devolver su valor en base decimal. Hacerlo con una
función que reciba el número binario y devuelva su correspondiente decimal.
-66. Leer un número decimal y devolver su valor en binario. Hacerlo con una función que reciba el número decimal y
devuelva su correspondiente binario.
-67. Escribe una función que reciba el año de nacimiento del usuario y devuelva el cálculo de su edad.
-68. Escribe una función que lea una letra y escriba su posición en el alfabeto árabe.
-69. Realiza una función en C que pregunte la edad del usuario y le emita, en función de la misma un billete con la
tarifa adecuada teniendo en cuenta que:
Los bebés (de 0 a 2 años) no pagan.
Los niños (de 3 a 12 años) pagan 3 euros.
Los jóvenes (de 13 a 26 años) pagan 5 euros.
Los adultos (de 27 a 60 años) pagan 8 euros.
Los jubilados (de 60 en adelante) pagan 3 euros.
-70. Escribe una función en C que reciba los números correspondientes al día, mes y año y escriba la fecha en
pantalla en formato completo. Si recibe 10, 1 y 97 deberá mostrar en pantalla: La fecha es el 10 de enero de 1997.
-71. Desarrolla una función en C que calcule el impuesto que debe pagar una persona en función de su sueldo con
arreglo a la siguiente tabla:
Sueldo(euros) Tarifa
<6.000 0%
[-6.000, 12.000) 15%
[-12.000, 18.000) 20%
[-18.000, 24.000) 25%
[-24.000,48.000) 30%
>48.000 35%

-72. Escribe una función que reciba una lista de números y nos diga cual de ellos tiene más divisores.
-73. Programa que lee frases hasta que se introduzca la frase nula (Enter) y visualiza las veces que han aparecido en
las frases las palabras Navidad, Noel y turron (sin acento), tanto si se han escrito en mayúsculas como en minúsculas.
-74. Función que dibuja en pantalla una rejilla de Y filas y X columnas (con semigráficos).
-75. Programa que lea 100 datos compuestos (registros), cada uno de ellos por un nombre de persona y su sueldo
mensual, y obtenga e imprima el nombre y el sueldo de la persona que más cobra y de la que menos. Si hay varias se
imprime la primera que aparezca.
-76. Dada la siguiente estructura:
structcat_libros
{
intcodigo ;
chartitulo[-20] ;
char autor[-30] ;
charedit [-15] ;
float precio ;
};
Definir una tabla de 5 elementos del tipo cat_libros.
Visualizar los valores de la tabla .
Visualizar los títulos correspondientes a una editorial introducida por teclado.
Si no se encuentra la editorial en la tabla mostrar un mensaje.
-77. Definir un tipo de dato (t_fecha) para representar una fecha mediante un registro con los campos día, mes y
año. construir una función que dadas dos variables de tipo t_fecha indique si son iguales o no.
-78. Define un tipo de dato (t_alumno), consistente en un registro con los siguientes campos: nombre, apellidol,
apellido2, nota. construir los procedimientos de lectura y escritura para este tipo de dato.
-79. Define un tipo de dato (t_clase), consistente en un vector de tipo t_alumno de tamaño 60. construye los
procedimientos de lectura y escritura para este tipo de dato utilizando los procedimientos del ejercicio anterior.
-80. Construye funciones que devuelvan la siguiente información sobre la estructura del ejercicio anterior: datos del
alumno con mayor valor en el campo nota. media de las notas de todos los alumnos.
Ejercicio 1.-

Programa que pide dos números naturales e imprime su suma



#include<stdio.h>

intmain (){
int num1, num2;
do{
printf("Introduzca el primer numero ");
scanf("%d", &num1);
printf("Introduzca el segundo numero ");
scanf("%d", &num2);
}while(num1<=0||num2<=0);
printf("La suma de los numeros %d y %d es %d", num1, num2, num1+num2);


fflush(stdin);
getchar();
return 1;
}
A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 2.-
Programa que lee cinco veces tres números y los imprime ordenados ascendentemente.

#include <stdio.h>

int main(){

inta,b,c,contador;

printf("nn*****************************************************************n");
printf("*ttORDENACION ASCENDENTE DE 3 NUMEROStt*n");
printf("*****************************************************************nnn");

for(contador=0;contador<5;contador++){
printf("nEsta es la %d vez que se pediran 3 numeros (5 en total):",contador+1);
printf("nnIntroduce un valor para A: ");
scanf("%d",&a);
printf("Introduce un valor para B: ");
scanf("%d",&b);
printf("Introduce un valor para C: ");
scanf("%d",&c);

if(a>b){
if(a>c)
if(b>c) printf("nEn orden ascendente: %d / %d / %d",c,b,a);
elseprintf("nEn orden ascendente: %d / %d / %d",b,c,a);
elseprintf("nEn orden ascendente: %d / %d / %d",b,a,c);
         }
elseif(a>c) printf("nEn orden ascendente: %d / %d / %d",c,a,b);
elseif(b>c) printf("nEn orden ascendente: %d / %d / %d",a,c,b);
elseprintf("nEn orden ascendente: %d / %d / %d",a,b,c);
    }

printf("nnnt~FIN DEL PROGRAMA~");

fflush(stdin);
getchar();
return 1;
}

Captura del resultado:
Ejercicio 3.-
Programa que pide dos numeros naturales e imprime su suma, resta, multiplicacion y
division

#include <stdio.h>

int main (){
        float num1, num2;

printf("Introduzca el primer numero ");
scanf("%f", &num1);
printf("Introduzca el segundo numero ");
scanf("%f", &num2);

printf("La suma de los numeros %.2f y %.2f es %.2fn", num1, num2, num1+num2);
printf("La resta de los numeros %.2f y %.2f es %.2fn", num1, num2, num1-num2);
printf("La multiplicacion de los numeros %.2f y %.2f es %.2fn", num1, num2,
num1*num2);
printf("La division de los numeros %.2f y %.2f es %.2fn", num1, num2, num1/num2);


        fflush(stdin);
getchar();
return 1;
}




Ejercicio 4.-
Programa que pide dos caracteres por teclado X e Y y los cambia

#include <stdio.h>

int main (){
char x, y, cambio;

printf("Introduzca el caracter X ");
scanf("%c", &x);
fflush(stdin);
printf("Introduzca el caracter Y ");
scanf("%c", &y);

cambio=x;
   x=y;
   y=cambio;

printf("nElcaracter X es %cn", x);
printf("El caracter Y es %c", y);

fflush(stdin);
getchar();
return 1;
}
  A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 5.-
Programa que imprima la enésima potencia de un número entero tomándolodel teclado.

#include<stdio.h>
#include <conio.h>

int   main()
{
int   valor;
int   potencia;
int   total;
int   contador;

textcolor(YELLOW);
        cprintf("nPrograma para Obtener la enesima potencia de un numeronn");
textcolor(WHITE);

         printf("nIntroduzca un valorn");
                 scanf("%d",&valor);
         printf("Introduzca el valor n de la potencian");
                 scanf("%d",&potencia);
         fflush(stdin);

total=valor;
for(contador=1;contador<potencia;contador++)
        total=total*valor;

printf("nLaenesima potencia del numero %d (suponiendo n=%d) es %d"
               , valor, potencia, total);

getchar();
return 1;
}

A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 6.-
Programa que lee por pantalla el radio e imprime el volumen de una esfera.

Documentación: Ve= (4/3) * PI * r^3
Siendo r: el radio de la esfera

#include <stdio.h>

#define PI 3.14159265358979323846

int main(){

floatradio,volumen;

printf("nn*****************************************************************n");
printf("*tPROGRAMA QUE CALCULA EL VOLUMEN DE UNA ESFERA   t*n");
printf("*****************************************************************nnn");

printf("Introduce el valor del radio para calcular el volumen de la esfera: ");
do{
scanf("%f",&radio);
if(radio<0){
printf("Debes introducir un numero positivo o igual a ceron");
printf("Introduce el valor del radio para calcular el volumen de la esfera: ");
}
}while(radio<0);

volumen=(4/3)*PI*radio*radio*radio;
printf("El volumen total de la esfera para el radio %.2f es:   %f",radio, volumen);

fflush(stdin);
getchar();
return 1;
}

Captura de pantalla del resultado:
Ejercicio 7 .-
Programa que convierte de ºC a ºK

#include <stdio.h>

int main (){
floatcelsius;

printf("Introduzca los grados celsius ");
scanf("%f", &celsius);
printf("%.2f grados Celsius equivalen a %.2f grados Kelvin", celsius, celsius+273.15);

fflush(stdin);
getchar();
return 1;
}

A continuación, una captura de pantalla con el programa ejecutándose:




Ejercicio 8.-
programa que te dice si un numero tiene o no decimales

#include <stdio>

int main()
{

double a;
int b;

printf("introduzca un numero ");
scanf("%lf",&a);

b=a;

if(a>b)
           printf("tiene decimales");
else
           printf("no tiene decimales");

fflush(stdin);
getchar();
return 1;
}
Ejercicio 9.-
Programa que lee una calificación numérica entre 0 y 100 y la transforma en nota
alfabética según la siguiente tabla:

nota< 25 MD
25 <= nota <50 INS
50 <= nota < 60 SUF
60 <= nota <75 BIEN
75 <= nota <95 NOT
95 <= nota <l00 SOB

#include<stdio.h>
#include <conio.h>

int main()
{
int nota;

textcolor(YELLOW);
        cprintf("nPrograma que lee una calificacionnumerica entre0 y 100 y la
transforma en nota alfabeticann");


                      printf("nIntroduzca la nota del alumno (sobre 100)n");
                              scanf("%d",&nota);

          fflush(stdin);

if(nota>=0 && nota<=100)
        {
               if(nota<25)
                       printf("nLa nota obtenida es Muy deficiente");

elseif(25<=nota && nota<50)
                       printf("nLa nota obtenida es Insuficiente");

                             elseif(50<=nota && nota<60)
                             printf("nLa nota obtenida es Suficiente");

                             elseif(60<=nota && nota<75)
                             printf("nLa nota obtenida es Bien");

                             elseif(75<=nota && nota<95)
                             printf("nLa nota obtenida es Notable");

                      elseif(95<=nota && nota<=100)
                              printf("nLa nota obtenida es Sobresaliente");
            }
else
        {
printf("Ha introducido un valor fuera del rango permitido");
          }

getchar();
return 1;
}

A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 10.-
programa que lea tres números y calcule e imprima el menor de ellos

#include <stdio.h>
#include <conio.h>
int main()
{
intx,y,z;
printf("Introduzca   un numero: ");
scanf("%d",&x);
printf("Introduzca   otro numero: ");
scanf("%d",&y);
printf("Introduzca   otro numero: ");
scanf("%d",&z);
fflush(stdin);
if(x<=y&&z<=x)
        printf("El   numero menor es: %dn", z);
if(x>=y&&z>x)
        printf("El   numero menor es: %d", y);
if(y>=x&&y<z)
        printf("El   numero menor es: %d", x);
if(x>=z&&y>z)
        printf("El   numero menor es: %d", z);
getch();
return 1;
}

                 A continuación, una captura de pantalla con el programa ejecutándose:




Ejercicio 11.-
programa que visualiza el cubo de un número entero,dado por teclado

#include<stdio.h>
intmain()
{
int numero;
printf("Introduzca un numero entero: ");
scanf("%d",&numero);
printf("Su cubo es: %d",numero*numero*numero);
fflush(stdin);
getchar();
return 1;
}

 A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 12.-
Programa que obtenga el producto de dos números enteros y positivos mediante sumas
sucesivas, y lo imprima.

#include <stdio.h>

int main()
{
        int n1=0,n2=0,c,resultado=0;

printf("Intruduzca el primer numero: ");
scanf("%d",&n1);
printf("nIntroduzca el segundo numero: ");
scanf("%d",&n2);

for(c=0;c<n2;c++)
        resultado=resultado+n1;

printf("nnEl resultado de la multiplicacion es %d.",resultado);
fflush(stdin);
getchar();
}

Una captura del programa ejecutandose:




Ejercicio 13.-
Programa que obtenga el cociente y el resto de la división entera de dos números
enteros y positivos mediante restas sucesivas, y los imprima.

#include <stdio.h>

int main()
{
int cociente=0,resto=0,dividendo,divisor;

printf("Intruduzca el dividendo: ");
scanf("%d",&dividendo);
printf("nIntroduzca el divisor: ");
scanf("%d",&divisor);

while(dividendo>=divisor)
   {
        dividendo=dividendo-divisor;
                cociente++;
   }
resto=dividendo;

printf("nnEl cociente de la division es %d y el resto %d",cociente,resto);

fflush(stdin);
getchar();

}

Una captura del programa ejecutandose:
Ejercicio 14.-

Programa que calcula e imprime la suma de los números pares comprendidos entre 2 y
1000, ambos inclusive.

#include <stdio.h>

int main(){

int suma=0, contador;

printf("nn***************************************************************************
*n");
printf("*PROGRAMA QUE CALCULA E IMPRIME LA SUMA DE LOS NUMEROS PARES ENTRE 2 Y
1000*n");
printf("****************************************************************************n
nn");

for(contador=2;contador<=1000;contador+=2){
suma=suma+contador;
    }

printf("El valor total de la suma de los numeros pares entre 2 y 1000 es:   %d ",suma);

getchar();
return 1;
}

Captura de pantalla del resultado:




Ejercicio 15.-

Programa imprime el alfabeto y su codigo ASCII en decimal

#include <stdio.h>

int main (){
        char letra='A';
for(;letra<='z';letra++){
        printf("El codigo ASCII de elcaracter %c es %dn", letra, letra);
if(letra=='Z')
        letra='`';
   }


getchar();
return 1;
Ejercicio 16.-

Programa que visualiza la serie de los n primeros numeros impares.

#include <stdio.h>

int main(){

intnum,contador=0;

printf("nn*************************************************************************n
");
printf("*tPROGRAMA QUE VISUALIZA LOS 'N' PRIMEROS NUMEROS IMPARESt*n");
printf("*************************************************************************nnn
");

printf("nElige cuantos numeros impares deseas visualizar: ");
scanf("%d",&num);
printf("nnLosnumeros son estos:n");

while(contador<=num*2){
if(contador%2!=0){
printf("%d ",contador);
        }
contador++;
    }

fflush(stdin);
getchar();
return 1;
}

Captura de los resultados:
Ejercicio 17.-




#include <stdio.h>
#include <limits.h>

int main()
{
intacumulador=0;
        intnumeros;
intcontador=0;
int min;
int max;
intalmacen=0;

min=INT_MAX;
max=INT_MIN;

printf("escriba la cantidad numeros que desea almacenar ");
scanf("%d", &numeros);
fflush(stdin);

for(contador=0;contador<numeros;contador++){
printf("escriba el numero a almacenar ");
scanf("%d", &almacen);

acumulador=almacen+acumulador;
if(almacen>max)
                max=almacen;

if(almacen<min)
                  min=almacen;
printf("n");
   }

printf("La media es %d, el maximo es %d y el minimo
es %dn",acumulador/numeros,max,min);

fflush(stdin);
getchar();
        return 1;
}

A continuación, una captura de pantalla con el programa ejecutándose:
Ejercicio 18.-
Calculamos a cuantos millas equivalen 100 metros previamente
                          1 Milla --> 1609 metros
x Millas --> 100 metros

                             x=(100*1)/1609)

                             100 metros = 0,0621504039776259 millas

#include<stdio.h>

#define MILLA 0.0621504039776259    /* Equivalencia en millas de 100 metros */
#define MAXKM 50

intmain(){

floatkm,acumulador=MILLA;

printf("nn***********************************************************n");
printf("* PROGRAMA DE CONVERSION DE KILOMETROS A MILLAS *n");
printf("***********************************************************nnn");

for(km=0;km<=MAXKM;km+=0.1){
printf("n Kms %3.2f | Millas %.3f",km, acumulador);
acumulador=acumulador+MILLA;
    }

getchar();
return 1;
}

Captura de los resultados:
Ejercicio 19.-
Programa que calcule e imprima la suma de los números pares comprendidos entre 10 y 30
(ambos inclusive).

#include <stdio.h>

int main(){

intcontador,suma=0;

printf("nn***********************************************************n");
printf("* PROGRAMA QUE IMPRIME LA SUMA DE LOS PARES ENTRE 10 Y 30 *n");
printf("***********************************************************nnn");

for(contador=10;contador<=30;contador+=2){
suma=suma+contador;
    }
printf("La suma total de los numeros pares entre 10 y 30 es: %d",suma);

getchar();
return 1;
}

Captura de los resultados:
Ejercicio 20.-
Programa que obtenga las tablas de multiplicar del 1 al 10.

#include <stdio.h>

int main(){

intcontador,tabla;

printf("nn*****************************************************************n");
printf("*ttTABLAS DE MULTIPLICAR DEL 1 AL 10tt*n");
printf("*****************************************************************nnn");

for(tabla=1;tabla<=10;tabla++){
printf("nTABLA DEL %d: n",tabla);
for(contador=1;contador<=10;contador++){
printf("%d x %d = %dn",tabla,contador,tabla*contador);
         }
    }

getchar();
return 1;
}

Capturas del resultado:
Ejercicio 21.-

Ejercicio en c

  • 1.
    Ejercicio en C++ 1. Programa que imprima la suma de dos números naturales (por tanto positivos) tomándolos del teclado. -2. Programa que lee cinco veces tres números y los imprime ordenados ascendentemente. -3. Programa que imprima la suma, resta, multiplicación y división de dos números reales en simple precisión tomándolos del teclado. -4. Programa que lea sobre dos variables X y Y de tipo carácter, intercambie el contenido de las mismas e imprima sus contenidos. -5. Programa que imprima la n-ésima potencia de un número entero tomándolo del teclado. -6. Programa para calcular e imprimir el volumen de una esfera, leyendo el valor de su radio. -7. Programa para realizar la conversión de una temperatura dada en grados centígrados a grados Kelvin. -8. Programa para leer un número real y comprobar e imprimir si dicho número es fraccionario. -9. Programa que lee una calificación numérica entre 0 y 100 y la transforma en nota alfabética según la siguiente tabla: nota< 25 MD 25 <= nota <50 INS 50 <= nota < 60 SUF 60 <= nota <75 BIEN 75 <= nota <95 NOT 95 <= nota <l00 SOB -10. Programa que lea tres números y calcule e imprima el menor de ellos. -11. Programa que visualiza el cubo de un entero, dado por teclado. -12. Programa que obtenga el producto de dos números enteros y positivos mediante sumas sucesivas, y lo imprima. -13. Programa que obtenga el cociente y el resto de la división entera de dos números enteros y positivos mediante restas sucesivas, y los imprima. -14. Programa que visualiza la raíz cuadrada de un entero, dado por teclado (por aproximación). -15. Programa que calcula e imprime la suma de los N primeros números naturales positivos de un conjunto de enteros. -16. Programa que calcula e imprime la suma de los números pares comprendidos entre 2 y 1000, ambos inclusive. -17. Programa que cuente el número de valores nulos aparecidos en una secuencia de números enteros terminada en un número negativo. -18. Programa que visualiza el cociente real de dos enteros, dados por teclado. -19. Programa que obtenga e imprima la lista de los divisores pares de un número entero N. -20. Programa que visualiza todos los caracteres alfabéticos, junto con sus códigos ASCII en decimal. -21. Programa que visualiza la serie de los n primeros numeros impares. -22. Programa que lea una lista de N números y calcule e imprima : el número mayor, el número menor y la media de la lista. -23. Programa que imprima una tabla de conversión de kilómetros a millas (1 Milla = 1.609 km), desde 0 km hasta 50 km con un incremento de 100 m. -24. Programa que lea una serie de números terminada en el número -999, y calcule e imprima la media de los positivos introducidos. -25. Escribir un programa para sumar los números del 1 al 100, no terminados en 5. -26. Programa que calcule e imprima la suma de los números pares comprendidos entre 10 y 30 (ambos inclusive). -27. Programa que lea una serie de 100 números enteros y positivos y determine: cuantos son menores que 15, cuantos son mayores que 50, cuantos están comprendidos entre 45 y 55. -28. Programa que determine si dos números enteros positivos son amigos. Dos números son amigos si la suma de los divisores del primero excepto el mismo es igual al segundo y viceversa. -29. Programa que obtenga las tablas de multiplicar del 1 al 10. -30. Programa que lea un número entero positivo y calcule e imprima cuantas cifras tiene. -31. Escribir un programa en lenguaje C que permita realizar el control del gasto de gasolina realizado por un automóvil , de forma que lea las informaciones relativas a litros de gasolina y kilómetros realizados en varios llenados del depósito y obtenga los kilómetros por litro realizados en cada llenado y los kilómetros por litro correspondientes a los totales. -32. Escribir un programa C que demuestre la diferencia entre pre-incrementar y post-incrementar, utilizando el operador incremento ++. -33. Función que calcula el primo más próximo a uno dado. -34. Programa que propone combinaciones de euromillón.
  • 2.
    -35. Programa quevisualiza la suma de los treinta primeros números primos. -36. Programa que lea dos números enteros y positivos, y calcula e imprime los múltiplos del primero, inferiores al segundo. -37. Función que visualiza la dirección de memoria en que se encuentra una variable. -38. Función que rellena un vector de números pseudoaleatorios crecientes, si es posible. -39. Función que rellena de enteros aleatorios una matriz de tres dimensiones, a través de un sólo indice. -40. Programa que sustituye todas las vocales de una frase por la misma vocal, que el usuario decida, y la visualice. -41. Programa que permite al usuario escribir una frase tan grande como el usuario quiera, la almacena en memoria, y la visualiza en pantalla. -42. Programa que lea un número entero positivo, controlando la entrada de datos, y compruebe si es perfecto o no, emitiendo un mensaje. Un número es perfecto si la suma de sus divisores excepto él mismo es igual al propio número. -43. Programa que calcule y almacene los 4 primeros números perfectos. -44. Programa que lea una frase en una cadena de caracteres y cuente el número de vocales que contiene. -45. Programa que visualiza uy! cada vez que tocamos una tecla, excepto la q, con la que se sale del programa. -46. Función que recoge una frase y nos visualiza una estadística de los caracteres que la componen. -47. Programa que lee frases hasta que se introduzca la frase nula (Enter) y nos visualiza una estadística de los caracteres totales que han aparecido entre todas. -48. Programa que lea una cadena de caracteres y la imprima normalmente e invirtiendo el orden de sus caracteres. -49. Programa que lea una cadena de caracteres, intercale entre cada dos un espacio y la imprima. -50. Programa que lea una cadena de caracteres, sustituya todos los espacios por asteriscos y la imprima. -51. Escribir una función que cuente el número de espacios que contiene una cadena. -52. Escribir una función que borre una subcadena de una cadena. La función debe recibir las dos cadenas como parámetros y devolver un 1 si se ha podido borrar o un 0 en caso contrario. -53. Escribir una función para reducir cada grupo de espacios consecutivos contenidos en una cadena a uno solo. -54. Escribir una función que borre todas las veces que aparezca una cadena en otra, devolviendo el número de borrados realizados. -55. Función que sustituya todas las veces que aparezca una cadena en otra por una tercera. -56. Función que inserte la cadena "##" al principio y al final de una cadena. -57. Función que inserte la cadena "--" antes de cada letra en mayúsculas de una cadena. -58. Programa que lee 100 palabras, y obtiene e imprime la de máxima longitud y la de mínima. Si hay varias, se debe imprimir la última de ellas. -59. Escribir un programa en C para imprimir la siguiente pirámide de dígitos, leyendo el número de filas a imprimir: 1 232 34543 4567654 567898765 -60. Escribir un programa en C que convierta una cantidad entera, positiva y menor que 3000, controlando la entrada de datos, a numeración romana, permitiendo que el proceso se repita varias veces. -61. Escribir un programa C que lea el lado de un cuadrado y a continuación lo imprima utilizando asteriscos. El programa controlará la entrada de datos permitiendo cuadros de lado entre 1 y 20. -62. Escribir una función que tenga un carácter como parámetro y devuelva cierto o falso según éste sea dígito o no. -63. Escribir una función que tenga como parámetro un número entero y que devuelva 1 si el valor de número es par y 0 si es impar. -64. Escribir una función que reciba como parámetros tres valores reales y los ordene en sentido creciente. -65. Leer un número en base 2, como cadena de unos y ceros y devolver su valor en base decimal. Hacerlo con una función que reciba el número binario y devuelva su correspondiente decimal. -66. Leer un número decimal y devolver su valor en binario. Hacerlo con una función que reciba el número decimal y devuelva su correspondiente binario. -67. Escribe una función que reciba el año de nacimiento del usuario y devuelva el cálculo de su edad. -68. Escribe una función que lea una letra y escriba su posición en el alfabeto árabe. -69. Realiza una función en C que pregunte la edad del usuario y le emita, en función de la misma un billete con la tarifa adecuada teniendo en cuenta que: Los bebés (de 0 a 2 años) no pagan. Los niños (de 3 a 12 años) pagan 3 euros. Los jóvenes (de 13 a 26 años) pagan 5 euros.
  • 3.
    Los adultos (de27 a 60 años) pagan 8 euros. Los jubilados (de 60 en adelante) pagan 3 euros. -70. Escribe una función en C que reciba los números correspondientes al día, mes y año y escriba la fecha en pantalla en formato completo. Si recibe 10, 1 y 97 deberá mostrar en pantalla: La fecha es el 10 de enero de 1997. -71. Desarrolla una función en C que calcule el impuesto que debe pagar una persona en función de su sueldo con arreglo a la siguiente tabla: Sueldo(euros) Tarifa <6.000 0% [-6.000, 12.000) 15% [-12.000, 18.000) 20% [-18.000, 24.000) 25% [-24.000,48.000) 30% >48.000 35% -72. Escribe una función que reciba una lista de números y nos diga cual de ellos tiene más divisores. -73. Programa que lee frases hasta que se introduzca la frase nula (Enter) y visualiza las veces que han aparecido en las frases las palabras Navidad, Noel y turron (sin acento), tanto si se han escrito en mayúsculas como en minúsculas. -74. Función que dibuja en pantalla una rejilla de Y filas y X columnas (con semigráficos). -75. Programa que lea 100 datos compuestos (registros), cada uno de ellos por un nombre de persona y su sueldo mensual, y obtenga e imprima el nombre y el sueldo de la persona que más cobra y de la que menos. Si hay varias se imprime la primera que aparezca. -76. Dada la siguiente estructura: structcat_libros { intcodigo ; chartitulo[-20] ; char autor[-30] ; charedit [-15] ; float precio ; }; Definir una tabla de 5 elementos del tipo cat_libros. Visualizar los valores de la tabla . Visualizar los títulos correspondientes a una editorial introducida por teclado. Si no se encuentra la editorial en la tabla mostrar un mensaje. -77. Definir un tipo de dato (t_fecha) para representar una fecha mediante un registro con los campos día, mes y año. construir una función que dadas dos variables de tipo t_fecha indique si son iguales o no. -78. Define un tipo de dato (t_alumno), consistente en un registro con los siguientes campos: nombre, apellidol, apellido2, nota. construir los procedimientos de lectura y escritura para este tipo de dato. -79. Define un tipo de dato (t_clase), consistente en un vector de tipo t_alumno de tamaño 60. construye los procedimientos de lectura y escritura para este tipo de dato utilizando los procedimientos del ejercicio anterior. -80. Construye funciones que devuelvan la siguiente información sobre la estructura del ejercicio anterior: datos del alumno con mayor valor en el campo nota. media de las notas de todos los alumnos.
  • 4.
    Ejercicio 1.- Programa quepide dos números naturales e imprime su suma #include<stdio.h> intmain (){ int num1, num2; do{ printf("Introduzca el primer numero "); scanf("%d", &num1); printf("Introduzca el segundo numero "); scanf("%d", &num2); }while(num1<=0||num2<=0); printf("La suma de los numeros %d y %d es %d", num1, num2, num1+num2); fflush(stdin); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 5.
    Ejercicio 2.- Programa quelee cinco veces tres números y los imprime ordenados ascendentemente. #include <stdio.h> int main(){ inta,b,c,contador; printf("nn*****************************************************************n"); printf("*ttORDENACION ASCENDENTE DE 3 NUMEROStt*n"); printf("*****************************************************************nnn"); for(contador=0;contador<5;contador++){ printf("nEsta es la %d vez que se pediran 3 numeros (5 en total):",contador+1); printf("nnIntroduce un valor para A: "); scanf("%d",&a); printf("Introduce un valor para B: "); scanf("%d",&b); printf("Introduce un valor para C: "); scanf("%d",&c); if(a>b){ if(a>c) if(b>c) printf("nEn orden ascendente: %d / %d / %d",c,b,a); elseprintf("nEn orden ascendente: %d / %d / %d",b,c,a); elseprintf("nEn orden ascendente: %d / %d / %d",b,a,c); } elseif(a>c) printf("nEn orden ascendente: %d / %d / %d",c,a,b); elseif(b>c) printf("nEn orden ascendente: %d / %d / %d",a,c,b); elseprintf("nEn orden ascendente: %d / %d / %d",a,b,c); } printf("nnnt~FIN DEL PROGRAMA~"); fflush(stdin); getchar(); return 1; } Captura del resultado:
  • 6.
    Ejercicio 3.- Programa quepide dos numeros naturales e imprime su suma, resta, multiplicacion y division #include <stdio.h> int main (){ float num1, num2; printf("Introduzca el primer numero "); scanf("%f", &num1); printf("Introduzca el segundo numero "); scanf("%f", &num2); printf("La suma de los numeros %.2f y %.2f es %.2fn", num1, num2, num1+num2); printf("La resta de los numeros %.2f y %.2f es %.2fn", num1, num2, num1-num2); printf("La multiplicacion de los numeros %.2f y %.2f es %.2fn", num1, num2, num1*num2); printf("La division de los numeros %.2f y %.2f es %.2fn", num1, num2, num1/num2); fflush(stdin); getchar(); return 1; } Ejercicio 4.- Programa que pide dos caracteres por teclado X e Y y los cambia #include <stdio.h> int main (){ char x, y, cambio; printf("Introduzca el caracter X "); scanf("%c", &x); fflush(stdin); printf("Introduzca el caracter Y "); scanf("%c", &y); cambio=x; x=y; y=cambio; printf("nElcaracter X es %cn", x); printf("El caracter Y es %c", y); fflush(stdin); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 7.
    Ejercicio 5.- Programa queimprima la enésima potencia de un número entero tomándolodel teclado. #include<stdio.h> #include <conio.h> int main() { int valor; int potencia; int total; int contador; textcolor(YELLOW); cprintf("nPrograma para Obtener la enesima potencia de un numeronn"); textcolor(WHITE); printf("nIntroduzca un valorn"); scanf("%d",&valor); printf("Introduzca el valor n de la potencian"); scanf("%d",&potencia); fflush(stdin); total=valor; for(contador=1;contador<potencia;contador++) total=total*valor; printf("nLaenesima potencia del numero %d (suponiendo n=%d) es %d" , valor, potencia, total); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 8.
    Ejercicio 6.- Programa quelee por pantalla el radio e imprime el volumen de una esfera. Documentación: Ve= (4/3) * PI * r^3 Siendo r: el radio de la esfera #include <stdio.h> #define PI 3.14159265358979323846 int main(){ floatradio,volumen; printf("nn*****************************************************************n"); printf("*tPROGRAMA QUE CALCULA EL VOLUMEN DE UNA ESFERA t*n"); printf("*****************************************************************nnn"); printf("Introduce el valor del radio para calcular el volumen de la esfera: "); do{ scanf("%f",&radio); if(radio<0){ printf("Debes introducir un numero positivo o igual a ceron"); printf("Introduce el valor del radio para calcular el volumen de la esfera: "); } }while(radio<0); volumen=(4/3)*PI*radio*radio*radio; printf("El volumen total de la esfera para el radio %.2f es: %f",radio, volumen); fflush(stdin); getchar(); return 1; } Captura de pantalla del resultado:
  • 9.
    Ejercicio 7 .- Programaque convierte de ºC a ºK #include <stdio.h> int main (){ floatcelsius; printf("Introduzca los grados celsius "); scanf("%f", &celsius); printf("%.2f grados Celsius equivalen a %.2f grados Kelvin", celsius, celsius+273.15); fflush(stdin); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose: Ejercicio 8.- programa que te dice si un numero tiene o no decimales #include <stdio> int main() { double a; int b; printf("introduzca un numero "); scanf("%lf",&a); b=a; if(a>b) printf("tiene decimales"); else printf("no tiene decimales"); fflush(stdin); getchar(); return 1; }
  • 10.
    Ejercicio 9.- Programa quelee una calificación numérica entre 0 y 100 y la transforma en nota alfabética según la siguiente tabla: nota< 25 MD 25 <= nota <50 INS 50 <= nota < 60 SUF 60 <= nota <75 BIEN 75 <= nota <95 NOT 95 <= nota <l00 SOB #include<stdio.h> #include <conio.h> int main() { int nota; textcolor(YELLOW); cprintf("nPrograma que lee una calificacionnumerica entre0 y 100 y la transforma en nota alfabeticann"); printf("nIntroduzca la nota del alumno (sobre 100)n"); scanf("%d",&nota); fflush(stdin); if(nota>=0 && nota<=100) { if(nota<25) printf("nLa nota obtenida es Muy deficiente"); elseif(25<=nota && nota<50) printf("nLa nota obtenida es Insuficiente"); elseif(50<=nota && nota<60) printf("nLa nota obtenida es Suficiente"); elseif(60<=nota && nota<75) printf("nLa nota obtenida es Bien"); elseif(75<=nota && nota<95) printf("nLa nota obtenida es Notable"); elseif(95<=nota && nota<=100) printf("nLa nota obtenida es Sobresaliente"); } else { printf("Ha introducido un valor fuera del rango permitido"); } getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 11.
    Ejercicio 10.- programa quelea tres números y calcule e imprima el menor de ellos #include <stdio.h> #include <conio.h> int main() { intx,y,z; printf("Introduzca un numero: "); scanf("%d",&x); printf("Introduzca otro numero: "); scanf("%d",&y); printf("Introduzca otro numero: "); scanf("%d",&z); fflush(stdin); if(x<=y&&z<=x) printf("El numero menor es: %dn", z); if(x>=y&&z>x) printf("El numero menor es: %d", y); if(y>=x&&y<z) printf("El numero menor es: %d", x); if(x>=z&&y>z) printf("El numero menor es: %d", z); getch(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose: Ejercicio 11.- programa que visualiza el cubo de un número entero,dado por teclado #include<stdio.h> intmain() { int numero; printf("Introduzca un numero entero: "); scanf("%d",&numero); printf("Su cubo es: %d",numero*numero*numero); fflush(stdin); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 12.
    Ejercicio 12.- Programa queobtenga el producto de dos números enteros y positivos mediante sumas sucesivas, y lo imprima. #include <stdio.h> int main() { int n1=0,n2=0,c,resultado=0; printf("Intruduzca el primer numero: "); scanf("%d",&n1); printf("nIntroduzca el segundo numero: "); scanf("%d",&n2); for(c=0;c<n2;c++) resultado=resultado+n1; printf("nnEl resultado de la multiplicacion es %d.",resultado); fflush(stdin); getchar(); } Una captura del programa ejecutandose: Ejercicio 13.- Programa que obtenga el cociente y el resto de la división entera de dos números enteros y positivos mediante restas sucesivas, y los imprima. #include <stdio.h> int main() { int cociente=0,resto=0,dividendo,divisor; printf("Intruduzca el dividendo: "); scanf("%d",&dividendo); printf("nIntroduzca el divisor: "); scanf("%d",&divisor); while(dividendo>=divisor) { dividendo=dividendo-divisor; cociente++; } resto=dividendo; printf("nnEl cociente de la division es %d y el resto %d",cociente,resto); fflush(stdin); getchar(); } Una captura del programa ejecutandose:
  • 13.
    Ejercicio 14.- Programa quecalcula e imprime la suma de los números pares comprendidos entre 2 y 1000, ambos inclusive. #include <stdio.h> int main(){ int suma=0, contador; printf("nn*************************************************************************** *n"); printf("*PROGRAMA QUE CALCULA E IMPRIME LA SUMA DE LOS NUMEROS PARES ENTRE 2 Y 1000*n"); printf("****************************************************************************n nn"); for(contador=2;contador<=1000;contador+=2){ suma=suma+contador; } printf("El valor total de la suma de los numeros pares entre 2 y 1000 es: %d ",suma); getchar(); return 1; } Captura de pantalla del resultado: Ejercicio 15.- Programa imprime el alfabeto y su codigo ASCII en decimal #include <stdio.h> int main (){ char letra='A'; for(;letra<='z';letra++){ printf("El codigo ASCII de elcaracter %c es %dn", letra, letra); if(letra=='Z') letra='`'; } getchar(); return 1;
  • 14.
    Ejercicio 16.- Programa quevisualiza la serie de los n primeros numeros impares. #include <stdio.h> int main(){ intnum,contador=0; printf("nn*************************************************************************n "); printf("*tPROGRAMA QUE VISUALIZA LOS 'N' PRIMEROS NUMEROS IMPARESt*n"); printf("*************************************************************************nnn "); printf("nElige cuantos numeros impares deseas visualizar: "); scanf("%d",&num); printf("nnLosnumeros son estos:n"); while(contador<=num*2){ if(contador%2!=0){ printf("%d ",contador); } contador++; } fflush(stdin); getchar(); return 1; } Captura de los resultados:
  • 15.
    Ejercicio 17.- #include <stdio.h> #include<limits.h> int main() { intacumulador=0; intnumeros; intcontador=0; int min; int max; intalmacen=0; min=INT_MAX; max=INT_MIN; printf("escriba la cantidad numeros que desea almacenar "); scanf("%d", &numeros); fflush(stdin); for(contador=0;contador<numeros;contador++){ printf("escriba el numero a almacenar "); scanf("%d", &almacen); acumulador=almacen+acumulador; if(almacen>max) max=almacen; if(almacen<min) min=almacen; printf("n"); } printf("La media es %d, el maximo es %d y el minimo es %dn",acumulador/numeros,max,min); fflush(stdin); getchar(); return 1; } A continuación, una captura de pantalla con el programa ejecutándose:
  • 16.
    Ejercicio 18.- Calculamos acuantos millas equivalen 100 metros previamente 1 Milla --> 1609 metros x Millas --> 100 metros x=(100*1)/1609) 100 metros = 0,0621504039776259 millas #include<stdio.h> #define MILLA 0.0621504039776259 /* Equivalencia en millas de 100 metros */ #define MAXKM 50 intmain(){ floatkm,acumulador=MILLA; printf("nn***********************************************************n"); printf("* PROGRAMA DE CONVERSION DE KILOMETROS A MILLAS *n"); printf("***********************************************************nnn"); for(km=0;km<=MAXKM;km+=0.1){ printf("n Kms %3.2f | Millas %.3f",km, acumulador); acumulador=acumulador+MILLA; } getchar(); return 1; } Captura de los resultados:
  • 17.
    Ejercicio 19.- Programa quecalcule e imprima la suma de los números pares comprendidos entre 10 y 30 (ambos inclusive). #include <stdio.h> int main(){ intcontador,suma=0; printf("nn***********************************************************n"); printf("* PROGRAMA QUE IMPRIME LA SUMA DE LOS PARES ENTRE 10 Y 30 *n"); printf("***********************************************************nnn"); for(contador=10;contador<=30;contador+=2){ suma=suma+contador; } printf("La suma total de los numeros pares entre 10 y 30 es: %d",suma); getchar(); return 1; } Captura de los resultados:
  • 18.
    Ejercicio 20.- Programa queobtenga las tablas de multiplicar del 1 al 10. #include <stdio.h> int main(){ intcontador,tabla; printf("nn*****************************************************************n"); printf("*ttTABLAS DE MULTIPLICAR DEL 1 AL 10tt*n"); printf("*****************************************************************nnn"); for(tabla=1;tabla<=10;tabla++){ printf("nTABLA DEL %d: n",tabla); for(contador=1;contador<=10;contador++){ printf("%d x %d = %dn",tabla,contador,tabla*contador); } } getchar(); return 1; } Capturas del resultado:
  • 19.