带你刷(牛客网)C语言题目(第十八天)

发布于:2022-11-01 ⋅ 阅读:(568) ⋅ 点赞:(0)

✅作者简介:大家好我是@每天都要敲代码,希望一起努力,一起进步!
📃个人主页:@每天都要敲代码的个人主页
🔥系列专栏:牛客网刷题专栏 
💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习

​​​​​

习题一:菱形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的菱形图案。

输入描述:

多组输入,一个整数(2~20)。

输出描述:

针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。

示例1

输入:2

输出:

  * 
 * * 
* * * 
 * * 
  * 

示例2

输入:3

输出:

   * 
  * * 
 * * * 
* * * * 
 * * * 
  * * 
   * 

示例3

输入:4

输出:

    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        int j = 0;
        for (i = 0; i <= n; i++) {
            for (j = 0; j < n - i; j++) {
                printf(" ");
            }
            for (j = 0; j <= i; j++) {
                printf("* ");
            }
            printf("\n");

        }
        for (i = 0; i <= n - 1; i++) {
            for (j = 0; j <= i; j++) {
                printf(" ");
            }

            for (j = 0; j <= n - 1 - i; j++) {
                printf("* ");
            }
            printf("\n");

        }

    }

    return 0;
}

习题二:K形图

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。

输入描述:

多组输入,一个整数(2~20)。

输出描述:

针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。

示例1

输入:2

输出:

* * * 
* * 
* 
* * 
* * * 

示例2

输入:3

输出:

* * * * 
* * * 
* * 
* 
* * 
* * * 
* * * * 

示例3

输入:4

输出:

* * * * * 
* * * * 
* * * 
* * 
* 
* * 
* * * 
* * * * 
* * * * * 
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        int j = 0;
        for (i = 0; i <= n; i++) {
            for (j = 0; j <= n - i; j++) {
                printf("* ");
            }
            printf("\n");
        }
        for (i = 0; i < n; i++) {
            for (j = 0; j <= i + 1; j++) {
                printf("* ");
            }
            printf("\n");

        }

    }

    return 0;
}

习题三:箭形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的箭形图案。

输入描述:

本题多组输入,每行一个整数(2~20)。

输出描述:

针对每行输入,输出用“*”组成的箭形。

示例1

输入:2

输出:

    *
  **
***
  **
    *

示例2

输入:3

输出:

      *
    **
  ***
****
  ***
    **
      *

示例3

输入:4

输出:

        *
      **
    ***
  ****
*****
  ****
    ***
      **
        *
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        int j = 0;
        for (i = 0; i <= n; i++) {
            for (j = 0; j <= n - i - 1; j++) {
                printf("  ");
            }
            for (j = 0; j <= i; j++) {
                printf("*");
            }
            printf("\n");
        }
        for (i = 0; i < n; i++) {
            for (j = 0; j <= i; j++) {
                printf("  ");
            }
            for (j = 0; j <= n - i - 1; j++) {
                printf("*");
            }
            printf("\n");
        }


    }

    return 0;
}

习题四:反斜线形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。

输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“*”的数量。

输出描述:

针对每行输入,输出用“*”组成的反斜线。

示例1

输入:4

输出:

*   
 *  
  * 
   *

示例2

输入:5

输出:

*    
 *   
  *  
   * 
    *
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        int j = 0;
        int count = 0;
        for (i = 0; i < n; i++) {
            for (j = 0; j < i; j++) {
                printf(" ");
            }
            for (j = 0; j < 1;) {
                printf("*");
                count++;
                if (count = n)
                    break;
            }
            printf("\n");
        }


    }

    return 0;
}

习题五:正斜线形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正斜线形图案。

输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“*”的数量。

输出描述:

针对每行输入,输出用“*”组成的正斜线。

示例1

输入:4

输出:

   *
  * 
 *  
*   

示例2

输入:5

输出:

    *
   * 
  *  
 *   
* 
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        int j = 0;
        int count = 0;
        for (i = 0; i < n; i++) {
            for (j = 0; j < n - i - 1; j++) {
                printf(" ");
            }
            for (j = 0; j < 1;) {
                printf("*");
                count++;
                if (count = n)
                    break;
            }
            printf("\n");
        }


    }

    return 0;
}

习题六:X形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。

输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述:

针对每行输入,输出用“*”组成的X形图案。

示例1

输入:5

输出:

*   *
 * * 
  *  
 * * 
*   *

示例2

输入:6

输出:

*    *
 *  * 
  **  
  **  
 *  * 
*    *
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j || i + j == n - 1) {
                    printf("*");
                } else {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }


    return 0;
}

结束语

今天的分享就到这里啦!

快快通过下方链接注册加入刷题大军吧!各种大厂面试真题在等你哦!
💬刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习

​​​​​

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到