请教2道C语言题目!

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:05:30
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

第一个:
#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=