Na starcie mówię, że jestem początkującym programistą ale może przejdźmy od razu do sedna.
Mam napisać program który będzie pytał ile liczb chcemy policzyć a potem wyliczyć dla każdej z nich silnie ( maksymalna wartość argumentu wynosi 10000). Napisałem coś takiego lecz problem w tym, że gdy chce wyliczyć silnie dla powiedzmy 100! to wyskakuje 0. Wiem że trzeba użyć jakieś innej zmiennej żeby pomieścić taką wielką liczbę tylko nie wiem jakiej.
#include <cstdio>
#include <stdlib.h>
int main()
{
int test;
int silnia[10000];
long long int wynik=1;
printf("Podaj liczbe testow: ");
scanf_s("%d", &test);
printf("\nPodaj liczby calkowite: \n");
for (int i= 0; i < test; i++)
{
scanf_s("%d", &silnia[i]);
printf("\n");
}
printf("\nLIczby: \n");
for (int i = 0; i < test; i++)
{
if (silnia[i] == 0)
{
printf("\n1");
}
else if (silnia[i]!=0)
{
for (int n = 1; n <= silnia[i]; n++)
{
wynik*=n;
}
printf("\n%d", wynik);
wynik = 1;
}
}
return 0;
}