c语言输入n(3<=n<=10),输出n行的杨辉三角形
3个回答
展开全部
#include<stdio.h>
int main()
{int a[11]={0};
int i,j,n;
scanf("%d",&n);
a[0]=1;
for(i=0;i<=n;i++)
{for(j=i;j>0;j--)a[j]+=a[j-1];
printf("%*s",2*(n-i),"");
for(j=0;j<=i;j++)printf("%4d",a[j]);
printf("\n");
}
return 0;
}
更多追问追答
追问
我要的是这样的
1
11
121
1331
2016-04-04 · 知道合伙人教育行家
关注
展开全部
参考代码:
#include <stdio.h>
#define MAX 100
#define X(a) (a++)%MAX
int main()
{
int queue[MAX];
int r=0,l=0,n,m,i,j,h;
printf("输入杨辉三角的行数:");
scanf("%d",&h);
queue[X(r)]=0;
queue[X(r)]=1;
m=queue[X(l)];
for(i=0;i<h;i++)
{
queue[X(r)]=0;
for(j=0;j<i+2;j++)
{
n=m;
m=queue[X(l)];
queue[X(r)]=m+n;
if(n!=0)
printf("%d ",n);
}
printf("\n");
}
return 0;
}
追问
n的范围没有算进去啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
int main(void){
int a[11]={0},n,i,j;
while(1){
printf("How many lines of output?\n");
if(scanf("%d",&n) && n>2 && n<11)
break;
printf("Error, redo: ");
}
for(a[1]=i=1;i<=n;i++){
for(j=i;j>=1;j--)
printf("%d ",a[j]+=a[j-1]);
printf("\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询