Saludos estoy haciendo este programa que me lee varios números y me da la suma, promedio, mayor y menor pero el problema que tengo es con el menor ya que no se como hacerlo sin tener que utilizar un vector, solo con el for
#include <stdio.h>
#include <stdlib.h>
/*Leer n valores enteros e imprimir la suma, promedio, producto, el mayor y el menor*/
int main()
{
int cantidad,numero,i,suma=0,producto=1,mayor=0,menor=0;
float promedio;
printf("Dame el numero de enteros\n");
scanf("%d",&cantidad);
for(i=0;i<cantidad;i++)
{
printf("Numero\n");
scanf("%d",&numero);
suma+=numero;
producto*=numero;
if(numero>mayor)
mayor=numero;
else
menor=numero;
}
printf("La suma es: %d\n",suma);
printf("El producto es: %d\n",producto);
promedio= (float)suma/cantidad;
printf("El promedio es: %.2f\n",promedio);
printf("El mayor es: %d\n",mayor);
printf("El menor es: %d\n",menor);
return 0;
}
gracias
Deja ejemplos de que numeros estas probando y que te devuelve asi te ayudaran mas rapido. Fijate que en tu verificacion if, pones solo > entonces el else tambien es valido para cuando son iguales, tal vez por ahi esta el fallo.
Hola! creo q con poner if en ves del else alcanza
if(numero<menor)
menor=numero;
Saludos
PD: no inicialices a menor=0 sino nunca te va a dar bien
¡Buenas!
Tampoco inicialices mayor a cero, ya que tambien te dara valores no deseados si todos los elementos son negativos.
Tendras que leer el primer dato, asumir que tanto mayor como menor son iguales a este, y luego comparar los sucesivos datos con estos dos.
¡Saludos!