For en C: ejercicios resueltos paso a paso
Si buscas ejercicios for en C resueltos, aquí tienes un bloque práctico con casos típicos de clase y entrevistas iniciales.
El objetivo es dominar tres patrones clave del bucle for: acumulación, conteo y recorrido de arrays.
Enunciado
Resuelve estos 4 mini ejercicios usando for:
- calcular la suma de
1..n, - contar cuántos pares hay en un array,
- obtener el máximo de un array,
- calcular la media de un array.
Solución en C
#include <stdio.h>
int suma_1_n(int n) {
int suma = 0;
for (int i = 1; i <= n; i++) {
suma += i;
}
return suma;
}
int contar_pares(const int a[], int n) {
int contador = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 2 == 0) {
contador++;
}
}
return contador;
}
int maximo_array(const int a[], int n) {
int maximo = a[0];
for (int i = 1; i < n; i++) {
if (a[i] > maximo) {
maximo = a[i];
}
}
return maximo;
}
double media_array(const int a[], int n) {
int suma = 0;
for (int i = 0; i < n; i++) {
suma += a[i];
}
return (double)suma / n;
}
int main(void) {
int n = 10;
int datos[] = {7, 2, 9, 4, 6, 3};
int tam = (int)(sizeof(datos) / sizeof(datos[0]));
printf("suma_1_n(%d) = %d\n", n, suma_1_n(n));
printf("pares_en_array = %d\n", contar_pares(datos, tam));
printf("maximo_array = %d\n", maximo_array(datos, tam));
printf("media_array = %.2f\n", media_array(datos, tam));
return 0;
}Resultado esperado
suma_1_n(10) = 55
pares_en_array = 3
maximo_array = 9
media_array = 5.17Errores frecuentes
- Empezar y terminar mal el rango (
i <= nfrente ai < n). - No inicializar acumuladores o contadores en 0.
- Dividir enteros al calcular media y perder decimales.
- Acceder fuera de rango en arrays (
i <= nen lugar dei < n).
Aplicación práctica
Estos patrones de for aparecen en casi cualquier ejercicio inicial de C:
- procesamiento de listas de datos,
- estadísticas simples,
- validaciones y filtros por condición.
Si dominas estos 4 casos, te será más fácil pasar a problemas de arrays, matrices y ordenación.
Siguiente ejercicio recomendado
- While y do while en C: ejercicios resueltos
- Arreglos y vectores en C: ejercicios resueltos básicos
- Inserción directa en C: ejercicio resuelto
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿For en C es mejor que while para empezar?
No es mejor ni peor en general, pero para recorridos con número de iteraciones conocido suele ser más claro.
¿Qué diferencia hay entre acumulador y contador?
Un acumulador suma o combina valores (por ejemplo suma += a[i]). Un contador incrementa ocurrencias (por ejemplo contador++).
¿Cómo practicar bucles for más rápido?
Empieza con problemas de una sola variable, luego añade arrays y finalmente combina dos condiciones dentro del mismo bucle.