请问为什么将int a[2000],c[2000];放到main函数里面就错了
查看原帖
请问为什么将int a[2000],c[2000];放到main函数里面就错了
661633
wanghaoren楼主2022/1/14 13:58
#include<cstdio>
int a[2000],c[2000];
void jia(int* a, int* c)
{
	int w = 0;
	for (int i = 1; i <= 1000; i++)
	{
		c[i] += a[i] + w;
		w = c[i] / 10;
		c[i] %= 10;
	}
}
void cheng(int* a, int c)
{
	int w = 0;
	for (int i = 1; i <= 1000; i++)
	{
		a[i] = a[i] * c + w;
		w = a[i] / 10;
		a[i] %= 10;
	}
}
int main()
{
	int n, flag = 0;
	scanf("%d", &n);
	a[1] = 1;
	for (int i = 1; i <= n; i++)
	{
		cheng(a, i);
		jia(a, c);
	}
	for (int i = 1000; i >= 1; i--)
	{
		if (c[i] != 0)
			flag = 1;
		if (flag)
			printf("%d", c[i]);
	}
}
2022/1/14 13:58
加载中...