EJERCICIO 1
#include <stdio.h>
#include <stdlib.h>
int main(void) {
// Variables
int numero;
int resultado;
// Mensaje de inicio
puts("=== PROGRAMA PARA CALCULAR EL CUADRADO DE UN NÚMERO ===");
// Leer número
printf("Ingrese un número: ");
scanf("%d", &numero);
// Calcular cuadrado
resultado = numero * numero;
// Mostrar resultado
printf("El cuadrado de %d es %d\n", numero, resultado);
return 0;
}
EJERCICIO 2
#include <stdio.h>
int main() {
// Variables
float numero = 0, acumulador = 0, promedio = 0;
int contador = 0;
// Indicar qué hace el programa
puts("=== PROGRAMA PARA CALCULAR EL PROMEDIO ===");
// Leer datos con un bucle do-while
do {
printf("Ingrese un numero (-1 para terminar): ");
scanf("%f", &numero);
setbuf(stdin, NULL); // Limpia el buffer de entrada
if (numero >= 0) {
acumulador += numero;
contador++;
}
} while (numero >= 0);
// Calcular y mostrar el promedio
if (contador > 0) {
promedio = acumulador / contador;
printf("El promedio de los %d numeros es: %.2f\n", contador, promedio);
} else {
printf("No se ingresaron numeros validos.\n");
}
return 0;
}
ejercicio 3
#include <stdio.h>
int main() {
// Variables
const int N = 10;
int arreglo[N];
int suma = 0;
int i;
// Indicar qué hace el programa
puts("=== PROGRAMA PARA CALCULAR LA SUMA DE UN ARREGLO ===");
// Leer datos
for (i = 0; i < N; i++) {
printf("Ingrese un numero [%d/%d]: ", i + 1, N);
scanf("%d", &arreglo[i]);
}
// Procesar (calcular la suma)
for (i = 0; i < N; i++) {
suma += arreglo[i];
}
// Mostrar resultados
printf("La suma de los elementos del arreglo es: %d\n", suma);
return 0;
}
EJERCICIOS PROPUESTOS
N 1
// leer nombre por el teclado
#include <stdio.h> // Incluir la librería estándar de entrada/salida para poder
usar printf y scanf
int main() {
// Declarar una variable de tipo arreglo de caracteres para almacenar el nombre
// El tamaño 50 es suficiente para almacenar nombres con hasta 49 caracteres
(el último espacio es para el terminador de cadena '\0')
char nombre[50];
// Imprimir un mensaje para que el usuario sepa que debe ingresar su nombre
printf("Ingrese su nombre: ");
// Leer el nombre que ingresa el usuario. Usamos scanf para leer una cadena de
caracteres.
// El formato "%49s" lee hasta 49 caracteres (deja espacio para el terminador
'\0')
scanf("%49s", nombre);
// Mostrar el mensaje de bienvenida en el formato solicitado.
// Utilizamos %s para imprimir el nombre ingresado por el usuario
printf("%s, bienvenido a Linux\n", nombre);
// El programa terminó correctamente, por lo que retornamos 0
return 0;
}
N 2
// suma de los N primeros números impares
#include <stdio.h> // Incluir la librería estándar para entrada/salida (printf,
scanf)
int main() {
int N; // Variable para almacenar el número de primeros impares a sumar
int suma = 0; // Variable para almacenar la suma de los N primeros impares
int i, num_impar; // Variables para los ciclos y el número impar actual
// Solicitar al usuario que ingrese el valor de N (cuántos números impares
sumar)
printf("Ingrese el número de primeros números impares a sumar: ");
scanf("%d", &N); // Leer el valor de N
// Inicializar el primer número impar
num_impar = 1;
// Utilizar un ciclo para sumar los primeros N números impares
for (i = 1; i <= N; i++) {
suma += num_impar; // Agregar el número impar actual a la suma
num_impar += 2; // El siguiente número impar es 2 unidades mayor que el
anterior
}
// Mostrar el resultado
printf("La suma de los primeros %d números impares es: %d\n", N, suma);
return 0; // Retornar 0 para indicar que el programa terminó correctamente
}
N 3
// coordenadas de dos líneas y determine cuál es la de mayor longitud.
#include <stdio.h> // Incluir la librería estándar de entrada/salida para usar
printf y scanf
#include <math.h> // Incluir la librería matemática para poder usar la función
sqrt() para calcular la raíz cuadrada
int main() {
// Declarar las variables para las coordenadas de los dos puntos de cada línea
float x1, y1, x2, y2; // Coordenadas del primer punto de la primera línea
float x3, y3, x4, y4; // Coordenadas del primer punto de la segunda línea
float longitud1, longitud2; // Variables para almacenar las longitudes de las
dos líneas
// Solicitar las coordenadas de la primera línea
printf("Ingrese las coordenadas del primer punto de la primera línea (x1 y1):
");
scanf("%f %f", &x1, &y1); // Leer las coordenadas x1, y1
printf("Ingrese las coordenadas del segundo punto de la primera línea (x2 y2):
");
scanf("%f %f", &x2, &y2); // Leer las coordenadas x2, y2
// Solicitar las coordenadas de la segunda línea
printf("Ingrese las coordenadas del primer punto de la segunda línea (x3 y3):
");
scanf("%f %f", &x3, &y3); // Leer las coordenadas x3, y3
printf("Ingrese las coordenadas del segundo punto de la segunda línea (x4 y4):
");
scanf("%f %f", &x4, &y4); // Leer las coordenadas x4, y4
// Calcular la longitud de la primera línea utilizando la fórmula de distancia
entre dos puntos
longitud1 = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
// Calcular la longitud de la segunda línea utilizando la fórmula de distancia
entre dos puntos
longitud2 = sqrt((x4 - x3) * (x4 - x3) + (y4 - y3) * (y4 - y3));
// Determinar cuál línea es más larga y mostrar el resultado
if (longitud1 > longitud2) {
printf("La primera línea es más larga. Longitud: %.2f\n", longitud1);
} else if (longitud1 < longitud2) {
printf("La segunda línea es más larga. Longitud: %.2f\n", longitud2);
} else {
printf("Ambas líneas tienen la misma longitud. Longitud: %.2f\n",
longitud1);
}
return 0; // Finalizar el programa exitosamente
}
N 4
// coordenadas de dos líneas y si estas se intersecan, determine el ángulo que
forman
// Nombre : calcularAngulo
// Proposito : Calcula el ángulo entre dos líneas dadas sus coordenadas
// Autor : Edwin Carrasco
// FCreacion : 17/02/2025
// FModificacion : --
#include <stdio.h>
#include <math.h> // Para usar la función de trigonometría y el valor de PI
#define PI 3.14159265358979323846 // Definir el valor de PI
// Función para calcular el ángulo entre dos líneas
double calcularAngulo(double m1, double m2) {
// Fórmula del ángulo entre dos líneas:
// tan(θ) = |(m1 - m2) / (1 + m1 * m2)|
// θ = atan(tan(θ)) para obtener el valor en radianes
double tanTheta = fabs((m1 - m2) / (1 + m1 * m2));
return atan(tanTheta) * 180.0 / PI; // Convertir a grados
}
int main(void) {
// Variables
double x1, y1, x2, y2, x3, y3, x4, y4; // Coordenadas de los puntos
double m1, m2, angulo;
// Indicar lo que hace el programa
puts("=== PROGRAMA PARA CALCULAR EL ÁNGULO ENTRE DOS LÍNEAS ===");
// Leer las coordenadas de los dos puntos de la primera línea
printf("Ingrese las coordenadas del primer punto de la primera línea (x1, y1):
");
scanf("%lf %lf", &x1, &y1);
printf("Ingrese las coordenadas del segundo punto de la primera línea (x2, y2):
");
scanf("%lf %lf", &x2, &y2);
// Leer las coordenadas de los dos puntos de la segunda línea
printf("Ingrese las coordenadas del primer punto de la segunda línea (x3, y3):
");
scanf("%lf %lf", &x3, &y3);
printf("Ingrese las coordenadas del segundo punto de la segunda línea (x4, y4):
");
scanf("%lf %lf", &x4, &y4);
// Calcular las pendientes de ambas líneas
m1 = (y2 - y1) / (x2 - x1); // Pendiente de la primera línea
m2 = (y4 - y3) / (x4 - x3); // Pendiente de la segunda línea
// Calcular el ángulo entre las dos líneas usando la fórmula
angulo = calcularAngulo(m1, m2);
// Mostrar el resultado
printf("El ángulo entre las dos líneas es: %.2f grados\n", angulo);
return 0;
}
N 5
//valor máximo, mínimo, el promedio y la frecuencia de los elementos de un arreglo
de N elementos enteros.
// Nombre : estadisticasArreglo
// Proposito : Calcula el valor máximo, mínimo, promedio y frecuencia de los
elementos de un arreglo
// Autor : Carlos Canal
// FCreacion : 17/02/2025
// FModificacion : --
#include <stdio.h>
int main(void) {
// Variables
int N; // Número de elementos del arreglo
int i;
int max, min; // Para almacenar el valor máximo y mínimo
int suma = 0; // Para calcular la suma de los elementos
float promedio;
int frecuenciaMax = 0, frecuenciaMin = 0; // Para contar las frecuencias de
max y min
int arreglo[100]; // Definir un arreglo de tamaño máximo 100
// Indicar lo que hace el programa
puts("=== PROGRAMA PARA CALCULAR ESTADÍSTICAS DE UN ARREGLO ===");
// Leer el número de elementos del arreglo
printf("Ingrese el número de elementos en el arreglo (máximo 100): ");
scanf("%d", &N);
// Validación del tamaño del arreglo
if (N > 100 || N <= 0) {
printf("Número de elementos no válido.\n");
return 1; // Salir con error si N es mayor a 100 o menor a 1
}
// Leer los elementos del arreglo
printf("Ingrese los elementos del arreglo:\n");
for (i = 0; i < N; i++) {
printf("Elemento %d: ", i + 1);
scanf("%d", &arreglo[i]);
}
// Inicializar max y min con el primer elemento del arreglo
max = arreglo[0];
min = arreglo[0];
// Procesar: Encontrar el valor máximo, mínimo, la suma, y contar las
frecuencias
for (i = 0; i < N; i++) {
suma += arreglo[i];
// Determinar el valor máximo y mínimo
if (arreglo[i] > max) {
max = arreglo[i];
frecuenciaMax = 1; // Resetear frecuencia máxima
} else if (arreglo[i] == max) {
frecuenciaMax++; // Contar cuántas veces aparece el máximo
}
if (arreglo[i] < min) {
min = arreglo[i];
frecuenciaMin = 1; // Resetear frecuencia mínima
} else if (arreglo[i] == min) {
frecuenciaMin++; // Contar cuántas veces aparece el mínimo
}
}
// Calcular el promedio
promedio = (float)suma / N;
// Mostrar resultados
printf("\nEstadísticas del arreglo:\n");
printf("Valor máximo: %d\n", max);
printf("Valor mínimo: %d\n", min);
printf("Promedio: %.2f\n", promedio);
printf("Frecuencia del valor máximo: %d\n", frecuenciaMax);
printf("Frecuencia del valor mínimo: %d\n", frecuenciaMin);
return 0;
}
N 6
//calcule el promedio de los elementos de un arreglo bidimensional, cuyas
dimensiones MxN sean definidas
// Nombre : promedioArregloBidimensional
// Proposito : Calcula el promedio de los elementos de un arreglo bidimensional
// Autor : Carlos Canal
// FCreacion : 17/02/2025
// FModificacion : --
#include <stdio.h>
int main(void) {
// Variables
int M, N; // Dimensiones del arreglo (filas y columnas)
int i, j; // Variables de control para los bucles
int suma = 0; // Para calcular la suma de los elementos
float promedio;
// Indicar lo que hace el programa
puts("=== PROGRAMA PARA CALCULAR EL PROMEDIO DE UN ARREGLO BIDIMENSIONAL ===");
// Leer las dimensiones del arreglo
printf("Ingrese el número de filas (M): ");
scanf("%d", &M);
printf("Ingrese el número de columnas (N): ");
scanf("%d", &N);
// Crear el arreglo bidimensional de tamaño MxN
int arreglo[M][N];
// Leer los elementos del arreglo
printf("Ingrese los elementos del arreglo:\n");
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
printf("Elemento en la posición [%d][%d]: ", i + 1, j + 1);
scanf("%d", &arreglo[i][j]);
}
}
// Procesar: Sumar los elementos del arreglo
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
suma += arreglo[i][j];
}
}
// Calcular el promedio
promedio = (float)suma / (M * N);
// Mostrar resultados
printf("\nEl promedio de los elementos del arreglo es: %.2f\n", promedio);
return 0;
}