请教2道C语言题目!
1、输入可变大小的奇数正方形数字图案的层数n(n<=9),n=3打印如下图案,即最外第一层由数字1组成,里面依次为二层由数字2组成、三层…2、如下图;有一大小为n列的杨辉...
1、输入可变大小的奇数正方形数字图案的层数n(n<=9),n=3打印如下图案,即最外第一层由数字1组成,里面依次为二层由数字2组成、三层 …
2、如下图;有一大小为 n 列的杨辉三角形,杨辉三角形是指其中每一个数字均是该数字正上方与左上方二数字的和(若该位置没有数字则当作0)。这里n<=9。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
… 展开
2、如下图;有一大小为 n 列的杨辉三角形,杨辉三角形是指其中每一个数字均是该数字正上方与左上方二数字的和(若该位置没有数字则当作0)。这里n<=9。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
… 展开
4个回答
展开全部
第一个没读懂!
第二个先拿去用着吧:
//简单杨辉三角;
#include<stdio.h>
void main()
{
int i,j,n;
printf("输入行数n(n<=9):");
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("%4d",a[i][j]);
}
printf("\n");
}
}
第二个先拿去用着吧:
//简单杨辉三角;
#include<stdio.h>
void main()
{
int i,j,n;
printf("输入行数n(n<=9):");
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||i==j)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("%4d",a[i][j]);
}
printf("\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个:
#include<stdio.h>
void printRect(int n)
{
int matrix[19][19],i,j;
for(i=0;i<=n;i++)
{
for(j=0;j<=n-i;j++)
{
matrix[i+j][i]=i+1;
matrix[i][i+j]=i+1;
matrix[n*2-i-j][n*2-i]=i+1;
matrix[n*2-i][n*2-i-j]=i+1;
matrix[i+j][n*2-i]=i+1;
matrix[i][n*2-i-j]=i+1;
matrix[n*2-i-j][i]=i+1;
matrix[n*2-i][i+j]=i+1;
}
}
for(i=0;i<=n*2;i++)
{
for(j=0;j<=n*2;j++)
{
printf("%2i",matrix[i][j]);
}
putchar('\n');
}
}
int main()
{
int n;
scanf("%d",&n);
printRect(n);
}
第二个
#include<stdio.h>
void printTriangle(int n)
{
int u[10]={0},i,j,last,last2;
u[0]=1;
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)printf("%2d ",u[j]);
putchar('\n');
last=0;
for(j=0;j<=i;j++)
{
last2=u[j];
u[j]+=last;
last=last2;
}
}
}
int main()
{
int n=9;
scanf("%d",&n);
printTriangle(n);
}
#include<stdio.h>
void printRect(int n)
{
int matrix[19][19],i,j;
for(i=0;i<=n;i++)
{
for(j=0;j<=n-i;j++)
{
matrix[i+j][i]=i+1;
matrix[i][i+j]=i+1;
matrix[n*2-i-j][n*2-i]=i+1;
matrix[n*2-i][n*2-i-j]=i+1;
matrix[i+j][n*2-i]=i+1;
matrix[i][n*2-i-j]=i+1;
matrix[n*2-i-j][i]=i+1;
matrix[n*2-i][i+j]=i+1;
}
}
for(i=0;i<=n*2;i++)
{
for(j=0;j<=n*2;j++)
{
printf("%2i",matrix[i][j]);
}
putchar('\n');
}
}
int main()
{
int n;
scanf("%d",&n);
printRect(n);
}
第二个
#include<stdio.h>
void printTriangle(int n)
{
int u[10]={0},i,j,last,last2;
u[0]=1;
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)printf("%2d ",u[j]);
putchar('\n');
last=0;
for(j=0;j<=i;j++)
{
last2=u[j];
u[j]+=last;
last=last2;
}
}
}
int main()
{
int n=9;
scanf("%d",&n);
printTriangle(n);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define N 9
viod main()
{
int i,j,a[N][N];
for(i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<N;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++)
{
for(j=1;j<=i;j++)
{
printf("%6d",a[i][j]);
printf("\n");
}
}
printf("\n");
}
viod main()
{
int i,j,a[N][N];
for(i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<N;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++)
{
for(j=1;j<=i;j++)
{
printf("%6d",a[i][j]);
printf("\n");
}
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
第一题都没图啊,LZ的图是不是我上面画的模样啊?
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
第一题都没图啊,LZ的图是不是我上面画的模样啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询