📄 n.cpp
字号:
// n.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
int factorial(int n);
int main()
{
int n = 0;
int fact = 0;
_try
{
for(;;)
{
printf("计算n! 请输1到31之间的整数 输入0退出:");
fflush(stdin);
scanf("%d",&n);
if( n >0 && n<31)
{
fact = factorial(n);
printf("%d的阶乘为:%d\n\r", n, fact);
}
else if(n == 0)
{
printf("退出");
return 0;
}
else
{
//超出计算范围
printf("输入值起出计算范围\n\r");
}
}
}
_except(EXCEPTION_EXECUTE_HANDLER)
{
//捕获异常,如:递归函数factorial层数过多而导致堆栈溢出
printf("系统异常");
printf("Exception handler %lX\n", _exception_code());
}
return 0;
}
//求n的阶乘递归函数
int factorial(int n)
{
if(n == 1)
return 1;
else
return n*factorial(n-1); //递归调用
}
/*#include <iostream.h>
int factorial(int);
void main(void) {
int number;
cout << "Please enter a positive integer: ";
cin >> number;
if (number < 0)
cout << "That is not a positive integer.\n";
else
cout << number << " factorial is: " << factorial(number) << endl;
}
int factorial(int number) {
int temp;
if(number <= 1) return 1;
temp = number * factorial(number - 1);
return temp;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -