C語言:Fibonacci數列打印

打印Fibonacci數列的前n個數,n<200,每行打印5個數字輸出;

代碼如下:

/*Fibonacci數列打印   打印Fibonacci數列的前n個數,n<200,每行打印5個數字輸出;*/
void chapter1::printFibonacci()
{
	printf_s("Fibonacci數列打印測試\r\n");
	int n;
	do
	{
		printf_s("請輸入打印Fibonacci數列個數");
		scanf_s("%d", &n);
	}
	while (n<=0 || n>= 200);

	long long *f = (long long*)calloc(n, sizeof(long long));
	f[0] = 1;
	f[1] = 1;
	for (int i = 2;i< n;i++)
	{
		f[i] = f[i - 1] + f[i - 2];
	}
	for (int i = 0;i<n;i++)
	{
		if (i!=0&&(i%5==0))
		{
			printf_s("\r\n");
		}
		printf_s("%d   ", f[i]);
	}
	printf_s("Fibonacci數列打印測試結束\r\n");
}

這個我在測試的時候出現了溢出的情況,哪位大神看出了問題,幫我指正下~~,問題如下,在打印到後面的時候出現了負數,按照long long的範圍應該不會出現負數纔對:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章