C语言编程(练习5:数组与指针)
2015-01-23 17:23
357 查看
题目:
编程打印直角杨辉三角形前六行
/**< 编程打印直角杨辉三角形前六行 */
#include <stdio.h>
#include <stdlib.h>
int c(int x,int y);
int main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<n;i++) /*控制输出N行*/
{
for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
for(j=0;j<i+1;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
printf("\n");
}
return 0;
}
int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==0)||(y==x)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}运行结果:
编程打印直角杨辉三角形前六行
/**< 编程打印直角杨辉三角形前六行 */
#include <stdio.h>
#include <stdlib.h>
int c(int x,int y);
int main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<n;i++) /*控制输出N行*/
{
for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
for(j=0;j<i+1;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
printf("\n");
}
return 0;
}
int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==0)||(y==x)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}运行结果:
相关文章推荐
- C语言编程(练习1:数组和指针)
- C语言编程(练习6:数组与指针)
- C语言编程(练习8:数组与指针)
- C语言编程(练习3:数组与指针)
- C语言编程(练习9:数组与指针)
- C语言编程(练习4:数组与指针)
- C语言编程(练习2:数组和指针)
- C和指针之数组之编程练习2
- C专家编程 十 规则2: C语言把数组下标作为指针的偏移量(二)
- C Primer Plus (第五版) 第十章 数组和指针 编程练习
- C专家编程之为什么C语言把数组形参当做指针:数组/指针实参
- 【编程练习】将string容器保存在字符指针数组中
- C和指针之数组编程练习5 (矩阵相乘)
- C Primer Plus 第10章 数组和指针 编程练习
- C语言编程入门——指针与函数、数组
- C语言:指针的三道编程练习
- C语言编程练习(通过指针调换输入数字)
- C语言练习-指针(数组,字符串)
- C和指针之数组编程练习8(8皇后问题)
- C和指针之数组编程练习3(判断矩阵是否为单位矩阵)