⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n.cpp

📁 vc++ 求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 + -