T1.从键盘输入打印行数n,打印如下所示杨辉三角形到屏幕上和字符文件a.txt中。
n=5时的图形是
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
输出的每个整数的格式是%4d。
要求实验报告中描述杨辉三角形的计算与生成算法。
#include <stdio.h>
#include <stdlib.h>
#define N 22
int main ()
{
FILE *fp;
int i, j, n;
int a[N][N] = {0};
a[0][0] = 1;
if ((fp = fopen("D:\\SYT1#.txt", "w+")) == NULL) //判断文件是否成功打开
{
printf("Failure to open it!\n");
exit (0);
}
printf("Please input a number:");
scanf("%d", &n);
for (i = 0; i < n; i++) //先把最外层的“1”存入
{
a[i][0] = 1;
a[i][i] = 1;
}
for (i = 2; i < n; i++) //下一层的每一项都是由上一层连边的两项相加得来
{
for (j = 1; j <= i - 1; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j <= i; j++)
{
fprintf(fp, "%4d", a[i][j]); //存入SYT1#.txt中
printf("%4d", a[i][j]);
}
printf("\n");
fprintf(fp, "\n");
}
fclose(fp);
return 0;
}
如有疏漏之处,还请各位大佬多多指教
都看到这里了,不妨点赞支持一下吧在 ฅʕ•̫͡•ʔฅ