/杨辉菱形/
#include<stdioh>
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-2i;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();
}
#include <iostream>
using namespace std;
void main()
{
int i,j,n;
int a[20][20];
cout<<"input num:";
cin>>n;
for (i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for (i=2;i<n;i++)
{
for (j=1;j<i;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++)
{
coutwidth(4);
cout<<a[i][j];
}
cout<<endl;
}
}
如果只是输出不保存的话,可以这样实现,不写主函数了:
void printyanghui(int n) // 打印n行杨辉三角
{
int i, j;
for(i = 0; i < n ; i++) {
for(j = 0; j < n - i; j ++) printf(" ");
for(j = 0; j <= i; j ++) {
printf("%d ", c(i, j));
printf("\n");
}
}
int c(int i, int j)
{
int m, value;
if(j > (i+1) / 2)
j = i-j;
value = 1;
for(m = 0; m < j; m ++)
value = value (i-m) / (m+1);
return value;
}
#include<stdioh>
#define N 20
void main() { int i,j,a[N],n;
a[0]=1; for ( i=1;i<N;i++ ) a[i]=0;
scanf("%d",&n); if ( n>=N ) n=N-1;
for ( i=0;i<n;i++ ) {
for ( j=0;j<n-i-1;j++ ) printf(" ");
printf("%6d",a[0]); for ( j=1;j<i+1;j++ ) printf("%6d",a[j]); printf("\n");
for ( j=i+2;j>0;j-- ) a[j]+=a[j-1];
}
}
public static void main(String[] args){
int[][] n = new int[10][21];
n[0][10] = 1;
for(int i=1;i<10;i++)
for(int j=10-i;j<10+i+1;j++)
n[i][j] = n[i-1][j-1]+n[i-1][j+1];
for(int i=0;i<10;i++){
for(int j=0;j<21;j++){
if(n[i][j]==0)
Systemoutprint(" ");
else{
if(n[i][j]<10)
Systemoutprint(" "+n[i][j]);//空格为了美观需要
else if(n[i][j]<100)
Systemoutprint(" "+n[i][j]);
else
Systemoutprint(n[i][j]);
}
}
Systemoutprintln();
}
}
//输出杨辉三角
#include<iostreamh>
#define Maxsize 100
int main()
{
int n,i,j,k;
cout<<"请输入要显示的行数(15以内):";
cin>>n;
cout<<endl;
int a[Maxsize][Maxsize]; //声明数组保存各行元素
for(i=0;i<n;i++)
{
a[i][0]=1; //数组每行第一个元素为1
a[i][i]=1; //数组每行最后一个元素为1
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; //计算杨辉三角形:每行中间元素是其前一行相应的前后两个数字之和
}
//输出杨辉三角形
for(i=0;i<n;i++)
{
for(k=1;k<(n-i);k++)
cout<<" ";
for(j=0;j<=i;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
以上就是关于C语言编程输出杨辉三角全部的内容,包括:C语言编程输出杨辉三角、编写程序,打印出杨辉三角(要求打印出前10行)、编写程序 在屏幕上输出杨辉三角 c语言 循环结构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)