Si he entendido bien el problema no es que no pueda hacerlo con arrays, es que aun no los han dado.
Como que no es posible sin arrays? No es eficiente ni limpio, pero posible es.
#include <stdio.h>
int main()
{
int num;
char num0=0, num1=0, num2=0, num3=0, num4=0, num5=0, num6=0, num7=0, num8=0, num9=0, i;
puts("Introduce 10 numeros\n"); for(i=0;i<10;i++)
{
switch(num)
{
case 0:
num0++;
break;
case 1:
num1++;
break;
case 2:
num2++;
break;
case 3:
num3++;
break;
case 4:
num4++;
break;
case 5:
num5++;
break;
case 6:
num6++;
break;
case 7:
num7++;
break;
case 8:
num8++;
break;
case 9:
num9++;
break;
}
}
if(num0>0)
{
printf("El 0 se repite %i veces\n", num0
); }
if(num1>0)
{
printf("El 1 se repite %i veces\n", num1
); }
if(num2>0)
{
printf("El 2 se repite %i veces\n", num2
); }
if(num3>0)
{
printf("El 3 se repite %i veces\n", num3
); }
if(num4>0)
{
printf("El 4 se repite %i veces\n", num4
); }
if(num5>0)
{
printf("El 5 se repite %i veces\n", num5
); }
if(num6>0)
{
printf("El 6 se repite %i veces\n", num6
); }
if(num7>0)
{
printf("El 7 se repite %i veces\n", num7
); }
if(num8>0)
{
printf("El 8 se repite %i veces\n", num8
); }
if(num9>0)
{
printf("El 9 se repite %i veces\n", num9
); }
return 0;
}
Otro modo mas eficiente seria algo como:
#include <stdio.h>
#include <string.h>
int main()
{
int num, i;
char repes[10];
puts("Introduce 10 numeros\n"); for(i=0;i<10;i++)
{
repes[num]++;
}
for(i=0;i<10;i++)
{
if(repes[i]>0)
{
printf("Numero %i repetido %i veces\n", i
, repes
[i
]); }
}
return 0;
}
Aunque pueda mejorarse
.
Sa1uDoS