1. 程式人生 > >遞迴和非遞迴分別實現求n的階乘;遞迴和非遞迴分別實現列印一個整數的每一位和

遞迴和非遞迴分別實現求n的階乘;遞迴和非遞迴分別實現列印一個整數的每一位和

1.列印一個整數的每一位

//遞迴法

void print(int num)
{
if (num>9)
{
print(num / 10);
}
printf("%d", num % 10);
}
//倒著列印,非遞迴的方式實現
//void print(int num)
//{
//while (num)
//{
//printf("%d", num % 10);
//num = num / 10;
//}
//}
int main()
{
int n = 0;
scanf("%d", &n);
print(n);
system("pause");
return 0;

}

最後結果:


2.遞迴和非遞迴分別實現求n的階乘
int Fac(int num)
{
if (num == 0)
return 0;
else if (num == 1)
return 1;
else
return num*Fac(num - 1);
}
//int Fac(int num)
//{
//int i = 0;
//int ret = 1;
//for (i = 1; i <= num; i++)
//{
//ret *= i;
//}
//return ret;
//}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fac(n);
printf("%d\n", ret);
system("pause");
return 0;

}

最後結果: