我正在尝试输出一个左对齐的帕斯卡三角形。程序应首先通过提示“N:”从用户那里读取一个正整数 N。然后,程序将在屏幕上打印帕斯卡三角形的前 N 行。但是,我认为我的外部两个 for 循环存在问题。而不是得到 (N=3)
1
1,1
1,2,1
我得到
1
1,2
2,4,4
#include <stdio.h>
int main(void) {
int input,i,j,k,p,N,x;
int f1=1;
int f2=1;
int f3 = 1;
printf("N:");
scanf("%d",&N);
for(i=1;i<=N;i++){
for(j=1;j<=i;j++){
for(x = 1; x<= N-1; x++){
f1 = f1 * x;
}
for(x = 1; x <= j-1; x++){
f2 = f2 * x;
}
for(x = 1; x <= N-j; x++){
f3 = f3 * x;
}
p= (f1)/(f2*f3);
if(j==i)
printf("%d",p);
else
printf("%d,",p);
}
printf("\n");
}
return 0;
}