C语言空心菱形 *号打印图形

来源:互联网 发布:网络的消极影响 编辑:程序博客网 时间:2024/06/02 09:51

//1.空心菱形

运行结果:


代码实现:

 int line =0, m = 0;

       printf("请输入行数:\n");

       scanf("%d", &line);

        m = (line +1) / 2;

       //上半部分

       for(int i =1; i <= m; i++)//控制行数

        {

           for(int k =0; k < m - i; k++)//控制空格数

            {

               printf(" ");

            }

           printf("*");

           if(i == 1){

               printf("\n");//换行

               continue;//结束本次部分循环,继续执行下一层循环继续 i++

            }

           for(int j =0; j <2 * i - 3 ; j++)

            {

               printf(" ");

            }

           printf("*");

           printf("\n");

        }

       //下半部分

       for(int i = m -1; i >0; i--)//控制行数

        {

           for(int k =0; k < m-i; k++)//控制每行的空格数

            {

               printf(" ");

            }

           printf("*");

           if(i == 1){

               printf("\n");

               continue;//结束本次部分循环,继续执行下一层循环继续 i--

            }

           for(int j =0; j <2 * i - 3; j++)

            {

               printf(" ");

            }

           printf("*");

           printf("\n");

        }

//2.打印Z型

运行结果:


代码实现:

int n =0;

   printf("Please enter n:\n");

   scanf("%d", &n);

   for (int i = 1; i <= n; i++) {

       for (int j = 1; j <= n; j++) {

           if (j == n - i + 1 || i == 1 || i == n) {

               printf("*");

            }else

               printf(" ");

        }

       printf("\n");

    }

//3.打印X型

运行结果:


代码实现:

 分析:此题与上题的区别在于打印'*'号的位置不同,编程时要找出应打印'*'号的位置和两个循环变量ij以及行数n的关系

   int n = 0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++){/* 输出图形的上半部分(含中心行) */

       for(int j = 1;j <=2 * n - i - 1;j++){

           if(j == i){

               printf("*");

            }else{

               printf(" ");

            }

        }

       printf("*\n");

    }

   for(int i = 1;i < n;i++){/*输出图形的下半部分(不含中心行)*/

       for(int j = 1;j <= n + i;j++){

           if(j == n - i){

               printf("*");

            }else

               printf(" ");

        }

       printf("*\n");

    }

4.打印空心等腰梯形

运行结果:


代码实现:

    int n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++){

       for(int j = 1;j <=2 * n + i - 3;j++){

           if(j == n - i + 1 || (j > n - i +1 && (i == 1 || i == n))){

               printf("*");

            }else{

               printf(" ");

            }

        }

       printf("*\n");

    }

5.打印实心等腰梯形

运行结果:


代码实现:

 int n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++) {

       for(int j = 1;j <= n-i;j++) {

           printf(" ");

        }

       for(int j = 1;j <=2 * i - 1 + (n - 1);j++){

           printf("*");

        }

       printf("\n");

    }

6.输出倒三角形

运行结果:


代码实现:

int  n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++)/* 重复输出图形的n */

    {

       for(int j = 1;j <=2 * n - i;j++)/* 重复输出图形一行中的每个符 */

        {if(j <= i-1){

           printf(" ");/* 输出前面的空格 */

        }

       else

           printf("*");/* 输出后面的* */

        }

       printf("\n");

    }

//7.打印平行四边形

运行结果:


代码实现:

int  n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++) {

       for (int j =1; j <= n - i; j++) {

           printf(" ");

        }

       for (int j = 1; j <= n; j++) {

           printf("*");

        }

       printf("\n");

    }

//8.输出矩形

运行结果:


代码实现:

int n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for(int i = 1;i <= n;i++) {//打印行数

       for(int j = 1;j <= n;j++) {//打印列数

           printf("*");

        }

       printf("\n");

    }

//9.打印等腰三角形

运行结果:


代码实现

    int n =0;

   printf("Please Enter n:\n");

   scanf("%d", &n);

   for (int i = 1; i <= n; i++)//控制输入的行数

    {

       for (int k = 1; k <= n - i; k++)//控制空格的输入

        {

           printf(" ");

        }

       for (int j = 1; j <=2 * i - 1; j++)//控制*的输入

        {

           printf("*");

        }

       printf("\n");

    }


0 0
原创粉丝点击