cómo encontrar el segundo elemento más grande usando el progtwig c sin usar array

#include int main(){ int a[50],size,i,j=0,big,secondbig; printf("Enter the size of the array: "); scanf("%d",&size); printf("Enter %d elements in to the array: ", size); for(i=0;i<size;i++) scanf("%d",&a[i]); big=a[0]; for(i=1;i<size;i++){ if(big<a[i]){ big=a[i]; j = i; } } secondbig=a[size-j-1]; for(i=1;i<size;i++){ if(secondbig <a[i] && j != i) secondbig =a[i]; } printf("Second biggest: %d", secondbig); return 0; } 

Escribí el progtwig anterior usando una matriz. Pero quiero escribir sin usar array.

a las condiciones se les da una secuencia de enteros como entrada, terminada por un -1. es decir, los enteros de entrada pueden ser + ve, -ve o 0. Un -1 en la entrada señala el final de la entrada. y -1 no se considera como parte de la entrada.

 foreach value v if (v > biggest) second = biggest biggest = v else if (v > second) second = v 

Nota: tienes que decidir qué hacer si hay elementos repetidos. En otras palabras, supongamos que los números son 5,5,3,1. Entonces el más grande es obviamente 5, pero ¿el segundo más grande es 5 o 3? Eso es para que usted decida y corrija el algoritmo en consecuencia.