输出杨辉三角课程设计问题描述
Ⅰ 编程 输出一个杨辉三角 求个程序加详细解释。
#include<stdio.h>
#defineM10
intmain(void)
{
inta[M][M],i,j;
for(i=0;i<M;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d",a[i][j]);
}
printf(" ");
}
printf(" ");
}
Ⅱ 大一C语言程序设计,杨辉三角问题
#include <stdio.h>
int a(int rows, int n)
{
float p = 1.0;
for(int count=2;count<=n;count++)
{
p = p*(rows-count+1)/(count-1);
}
return (int)p;
}
int print_triangle(int rows)
{
if(rows<=1)
{
printf("1\n");
}else{
print_triangle(rows-1);
for(int n=1;n<=rows;n++)
{
printf("%d ", a(rows, n));
}
printf("\n");
}
return 0;
}
int main(int argc, char* argv[])
{
print_triangle(10);
return 0;
}
Ⅲ 怎样用 vfp 程序设计输出杨辉三角急急急
我给出的图形是靠左侧对齐的。已经上机验证过了。版
clear
input "输入行数:权" to n
dime a(n,n)
for i=1 to n
for j=1 to i
if j=1 or i=j
a(i,j)=1
else
a(i,j)=a(i-1,j-1)+a(i-1,j)
endif
??str(a(i,j),3)
endfor
?
endfor
cancel
Ⅳ C语言,输出杨辉三角
修改:#include"stdio.h"
void main()
{
int a[10][10],i,j;
for(i=0;i<=9;i++){
a[i][0]=1;//原代码此处需修改,第一位数为1
a[i][i]=1;
}
for(i=1;i=9;i++)
for(j=1;j<i;j++)//原代码此处需修改
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<=9;i++){
for(j=0;j<=i;j++){printf("%5d ",a[i][j]);}
printf("
");
}return 0;}
(4)输出杨辉三角课程设计问题描述扩展阅读:
杨辉三角概述:
1.每个数等于它上方两数之和。
2.每行数字左右对称,由1开始逐渐变大。
3.第n行的数字有n+1项。
4.第n行数字和为2n。
5.第n行的m个数可表示为C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
6.第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。
7.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即C(n+1,i)=C(n,i)+C(n,i-1)。
8.(a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。
9.将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。
10将各行数字相排列,可得11的n-1(n为行数)次方:1=11^0; 11=11^1; 121=11^2……当n>5时会不符合这一条性质,此时应把第n行的最右面的数字"1"放在个位,然后把左面的一个数字的个位对齐到十位。
以此类推,把空位用“0”补齐,然后把所有的数加起来,得到的数正好是11的n-1次方。以n=11为例,第十一行的数为:1,10,45,120,210,252,210,120,45,10,1,结果为 25937424601=1110。
Ⅳ 编程序题:输出杨辉三角形。设计一个窗体,在窗体上有1个文本框和1个命令按钮。(下面还有)
Private Sub Command1_Click()
Dim a() As Single
n = Val(InputBox("请输入行数", "杨辉三角内"))
ReDim a(n + 1, n + 1)
Text1.Text = ""
For i = 1 To n
For j = 1 To i
a(i, 1) = 1
a(i, i) = 1
a(i + 1, j + 1) = a(i, j) + a(i, j + 1)
Text1.Text = Text1.Text & Format(a(i, j), "!@@容@@")
Next j
Text1.Text = Text1.Text & vbNewLine
Next i
End Sub
Ⅵ 用c语言编写程序 输出杨辉三角
#include<stdio.h>
void main(){
int i,j;
int a[10][10];
for(i=0;i<10;i++){
a[i][0]=1;
for(j=1;j<10;j++){
a[0][j]=0;
}
}
for(i=1;i<10;i++){
for(j=1;j<10;j++){
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]);
if(j==i)printf("
");
}
}
}
希望可以帮到你!回望采纳答!
Ⅶ 编程题:输出以下图案:杨辉三角
#include<stdio.h>
int main()
{ int n,i,j,a[20][20]= {1}; //a[0][0]=1
scanf("%d",&n); //读入需要计算的行数
for (i=0; i<n; i++) //共输出回n行
{
for(j=0; j<n-1-i; j++) //输出每行前面答的空格
printf(" "); //每次输出2个空格
for(j=0; j<=i; j++) //计算并输出一行上的i+1个数字
{
a[i][j]=j==0?1:a[i-1][j-1]+a[i-1][j]; //每行首数为1,否则等于"肩上"两数之和
printf("%4d",a[i][j]); //每个数字输出占4列
}
printf(" ");
}
return 0;
}
Ⅷ C语言编程输出杨辉三角
/*杨辉菱形*/
#include<stdio.h>
main()
{
int i,k,j,a[5][5]={{1},{1,1}}; /* 可改变数组大小来改变菱形的大小 */
for(i=2;i<=5;i++)
{
for(j=0;j<=i;j++)
if((j==0)||(j==i))
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<5;i++) /*该循环内输出正三角容*/
{
printf("\n");
for(k=0;k<=30-2*i;k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}
for(i=3;i>=0;i--) /*该循环输出倒三角*/
{
printf("\n");
for(k=0;k<=22+2*(4-i);k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}
getch();
}
Ⅸ c语言程序输出杨辉三角形
这样肯定不对。制
for(i=0;i<10;i++)
{
printf(" ");
for(j=0;j<n&&n<=10;j++)//第一次执行这个循环输出一个值,就是三角顶。你刚开始就把三角顶搞了10个数,你想想,肯定不对吧。这个地方必须是j<=i
{
printf("%5d",a[i][j]);
n++;
}
}
Ⅹ C++编程输出杨辉三角的问题!求大神解答!
不知道你是抄怎么理解杨辉袭三角的,我看了半天,终于看懂你要 做什么了。
你认为,每一列的数字,等于当前列的列数阶乘/当前行阶乘,咱们用第三行第二列来看。
2!=2
3!=6
2/6=0.333333
你声明的还是int型,直接砍掉小数,自然就等于零了。
我理解杨辉三角每一个数应该 是上一行当前列与前一列的和,不知道你这个公式是怎么来的,我调过来看还是不对