加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用C语言输出各种三角形、杨辉三角

(2012-11-20 11:55:57)
标签:

c语言

三角形输出

杨辉三角

教育

分类: C语言精选
1.打印输出一个普通三角形
程序源代码:

int i,j,k;

        for(i=0;i<=3;i++){

            for(j=0;j<=3-i;j++)//输入的空格数

                printf(" ");

            for(k=0;k<2*i-1;k++)//每行输入的*

                printf("*");

            printf("\n");

        }


2.编写出下面图形

              1

             2 3

            4 5 6

           7 8 9 0

程序源代码:

 

int i,j,k,n=1;

        for(i=0;i<=4;i++){

            for(j=0;j<=3-i;j++)//输入的空格数

                printf(" ");

            for(k=0;k每行输入的*

                printf("%d ",n);

            printf("\n");

        }

3.编写程序输出下面图形: 

    *

   ***

  *****

 *******

  *****

   ***

    *

 

 //首先输出上边的那个三角形:

        int i,j,k;

        for (i = 1; i< 5; i++) {//三角形为四行

            for (j = 0; j<4-i; j++) {

                printf(" ");//打印输出每行的空格数

            }

            for (k = 0; k <2*i-1; k++) {//打印输出每行的*号数

                printf("*");

            }

            printf("\n");

        }

        //输出下边的那个三角形

        for (int a = 0; a<3; a++) {

            for (int b = 0; b<=a; b++) {

                printf(" ");

            }

            for (int c = 5-a*2 ; c>0; c--) {

                printf("*");

            }

            printf("\n");

        }

4、杨辉三角:

          1

 

          1

          1

          1

          1

          10 10 5 1

         ........

         注释:杨辉三角是(a+b)n次方展开后的各项系数。

         各行第一个数都是1,各行最后一个数都是1

         从第3行起,除上边指出的第一个数和最后一个数外,其余各数都是上一行同列和前一列两个数之和。

         可以表示为:a[i][j]=a[i-1][j]+a[i-1][j-1],其中i为行数,j为列数;

 

//首先实现一下输入一个直角三角形

        //杨辉三角是一个等边直角三角形

 

        int i,j;

        int a[10][10];//定义一个1010列的二维数组

        for (i=0; i<10; i++) {

            a[i][i]=1;       //使三角形的对角线为1

            a[i][0]=1;       //使三角形的第一列元素为1

        }

        

        //从第三起开始处理

        for (i = 2; i<=10; i++) {

            for (j = 1; j<=i; 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("%d  ",a[i][j]);//输出数组各元素的值

            }

            printf("\n");

        }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有