大佬,求助,c语言,不知道为什么输出结果只会是13
查看原帖
大佬,求助,c语言,不知道为什么输出结果只会是13
997150
ace_12138楼主2023/11/14 09:30
int s[100],p[100];
void inti(){
	for(int i=0;i<100;i++){
		s[i]=0;
		p[i]=0;
	}
	p[0]=1;
}
void show(){
	int i=99;
	for( ;i>=0;i--){
		if(s[i]>0) break;
	}
	for(int j=i ;j>=0;j--){
		printf("%d",s[j]); 
	}
}
void add (){
	int carry = 0; 
	for(int i=0;i<100;i++){
		carry += p[i]+s[i];
		s[i]=carry%10;
		carry=carry/10;
	}
}
void mul(int i){
	for (int j=0;j<100;j++){
		int carry = 0;
		carry += p[j]*i;
		p[j]=carry%10;
		carry=carry/10;					
	}
}
int main(){
	inti();
	int n ;
	scanf("%d",&n);
	for(int k = 1;k<=n; k++){
		mul(k);
		add();
	}	
	show();
	return 0;
} ```
输入3————9
输入4————13
输入5————13
不知道为什么
2023/11/14 09:30
加载中...