C语言编程题:打印出杨辉三角(十行)?
#include<stdio.h> #include<stdlib.h> intmain(intargc,char*argv[]){ inta[11][11]={{1},{1,1},{1},{1},{1},{1},{1},{1},{1},{1}},i,j,k,z=1,x=1,c=1; for(i=2;i<10;i++) { for(j=1;j<=i;j++) { //用下面的方法计算的乘积很容易超出整数的表达范围 //for(k=1;k<=j;k++) //z=z*k; //for(k=1;k<=i;k++) //x=x*k; //for(k=1;k<=(i-j);k++) //c=c*k; //a[i][j]=z/(x*c)
; if(i==j) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf("%4d",a[i][j])
; printf("\n"); } return0; }
怎么用python实现这样的杨辉三角啊?
下面是使用Python实现杨辉三角的代码:
```python
def pascal(n): # n代表杨辉三角的行数
t = [] # 存储杨辉三角的列表
for i in range(n): # 遍历杨辉三角
row = [1] * (i + 1) # 每行章节数都为1,当行数为i+1的时候可知道有i+1个数
for j in range(1, i):
row[j] = t[i - 1][j - 1] + t[i - 1][j] # 算出每行中除最左和最右边的值
t.append(row) # 加入到列表中
return t
# 打印出前10行杨辉三角
t = pascal(10)
for i in range(10):
for j in range(i+1):
print(t[i][j], end=' ')
print('')
```
需要注意的是,这段代码使用了二维列表来存储杨辉三角,以便于后续的操作,也可以直接将杨辉三角打印出来。
编写一个计算n的阶乘的函数,用主函数调用它,使之输出七阶杨辉三角?
#include"stdio.h"
int fac(int n){
int f=1,i;
for(i=2;i<=n;i++)
f*=i;return f;
}
int main(){
int i,j;
for(i=0;i<8;i++){
for(j=0;j<7-i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%4d",fac(i)/(fac(j)*fac(i-j)));
printf("\n");
}
return 0;
}
【JAVA】输出杨辉三角形的前n行。采用循环控制语句来实现?
import java.util.Scanner;
public class Text{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.println("请输入杨辉三角形n的值:(0~~25)");
int n=sc.nextInt();
int a[][]=new int[25][25];
for(int i=0;i<n;i++)
a[i][0]=1;
for(int i=1;i<n;i++)
for(int j=1;j<=i;j++)
{if(i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(int i=0;i<n;i++)
{ for(int j=0;j<=i;j++)
System.out.print(a[i][j]+"\t");
System.out.println();}
}
}