本题要求按照规定格式打印前N行杨辉三角。
输入格式:
输入在一行中给出N(1≤N≤10)。
输出格式:
以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
输入样例:
6
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
代码一:
#include<stdio.h>
int yh(int k,int i);
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=n-i;j>0;j--){
printf(" ");}
printf(" 1");
for(k=1;k<i;k++){
printf("%4d",yh(k,i));}
printf("\n");}
return 0;
}
int yh(int k,int i)
{int t,m,n;
t=i-1;
for(m=i-2;m>i-k-1;m--)
{t=t*m;}
for(n=k;n>0;n--)
{t=t/n;}
return t;
}
代码二:
#include<stdio.h>
int main(){
int a,b,c,d,e,f,g;
scanf("%d",&a);
int x[a+1][a+1];
for(e=0;e<a+1;e++){
for(f=0;f<a+1;f++){
x[e][f]=0;
}
}
x[1][1]=1;
for(b=2;b<=a;b++){
for(c=1;c<=b;c++){
x[b][c]=x[b-1][c-1]+x[b-1][c];
}
}
for(b=1;b<=a;b++){
d=a-b;
for(;d>0;d--){
printf(" ");
}
for(c=1;c<=b;c++){
if(c==b)
printf("%4d\n",x[b][c]);
else printf("%4d",x[b][c]);
}
}
}
代码三:
#include<stdio.h>
int main(){
int n,i,j;
scanf("%d",&n);
int a[n][n];
a[0][0]=1;
a[1][0]=1;
a[1][1]=1;
for(i=2;i<n;i++){
a[i][0]=1;
for(j=1;j<n;j++){
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
a[i][i]=1;
}
for(i=0;i<n;i++){
for(j=1;j<n-i;j++){
printf(" ");
}
for(j=0;j<=i;j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
}
代码四:
#include<stdio.h>
int main (void)
{
int N,i,j;
scanf("%d",&N);
int a[100][100];
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
printf(" ");
for(j=0;j<i+1;j++)
{
if(j==0||j==i||i<2)
a[i][j]=1;
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
代码五:
#include<stdio.h>
int main(){
int N;
scanf("%d",&N);
int a[10]={0};
a[N-1]=1;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(a[j]==0){
printf(" ");
}
else{
printf("%4d",a[j]);
}
}
for(int k=0;k<N-1;k++){
a[k]+=a[k+1];
}
printf("\n");
}
}
代码六:
#include<stdio.h>
int main()
{
int n,i,j,a[12][11]={{1},{1,1}};
scanf("%d",&n);
for (i=1;i<=n;i++)
{a[i][0]=0;
a[i][i+1]=0;}
for (j=1;j<n;j++)
printf(" ");
printf(" 1\n");
for (i=2;i<=n;i++)
{
for (j=1;j<=n-i;j++)
printf(" ");
for (j=1;j<=i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}