首页 > 试题广场 >

K形图案

[编程题]K形图案
  • 热度指数:28812 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。

输入描述:

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



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

输入

2

输出

* * * 
* * 
* 
* * 
* * * 
示例2

输入

3

输出

* * * * 
* * * 
* * 
* 
* * 
* * * 
* * * * 
示例3

输入

4

输出

* * * * * 
* * * * 
* * * 
* * 
* 
* * 
* * * 
* * * * 
* * * * * 
#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
    int n = 0;
    int i = 0;
    int j = 0;


    while (scanf("%d", &n) != EOF)
    {
        //输出上半部分与中线
        for (i = 0; i < n + 1; i++)
        {
            for (j = 0; j < n + 1 - i; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        //输出下半部分
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < 2 + i; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }

    return 0;
}

编辑于 2024-03-19 12:23:37 回复(0)
#include <stdio.h>

int main() {
    int n;
    while(scanf("%d", &n) != EOF){
        for(int y=0; y<=2*n; y++){
            if(y<=n){
                for(int i=0; i<=n-y; i++){
                    printf("* ");
                }
            }else{
                for(int j=0; j<=y-n; j++){
                    printf("* ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}
编辑于 2024-01-29 19:23:52 回复(0)
#include <stdio.h>
//这个题好坑
int main() {
    int n = 0;
//如果输入的是n,其实每行打印n+1组字符(*和空格)
    while (scanf("%d", &n) != EOF) {
        int i = 0;
        for (i = n; i >= 0; i--) {
            int j = 0;
            for (j = 0; j <= i; j++) {
                printf("* ");
            }
//*的后面还有空格-这个比较坑
            for (j = i; j < n; j++) {
                printf(" ");
            }
            printf("\n");
        }
        for (i = 1; i <= n; i++) {
            int j = 0;
            for (j = 0; j <= i; j++) {
                printf("* ");
            }
//*的后边还有空格-这个比较坑
            for (j = i; j < n; j++) {
                printf(" ");
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2024-01-09 12:46:01 回复(0)
#include <stdio.h>

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

发表于 2023-11-12 18:59:09 回复(0)
#include <stdio.h>
int main()
{
    int n;
    while(scanf("%d ",&n) != EOF)
    {
        int i;
        for(i = 1;i<=n;i++)
        {
            int j;
            for(j = 1;j<=n+2-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        printf("* \n");

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

发表于 2023-11-04 09:53:46 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    while(~scanf("%d",&n))
    {
        //1.up
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n+1-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        //2.down
        for(int i=0;i<n+1;i++)
        {
            for(int j=0;j<=i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
发表于 2023-09-01 14:53:57 回复(0)
#include <stdio.h>

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

        for(int i=0;i<=n;i++)
        {
            int j=0;
            for(j=0;j<i+1;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
发表于 2023-05-29 17:24:36 回复(0)
#include <stdio.h>

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

    return 0;
}
发表于 2023-04-08 17:33:14 回复(0)
#include <stdio.h>

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
       for(int i=n;i>0;i--)//上半部分,递减
       {
         for(int a=i;a>=0;a--)
         {
            printf("* ");
         }
         printf("\n");
       }
        printf("*\n");//中间部分
         for(int i=0;i<n;i++)//下半部分,递增
        {
          for(int j=0;j<=i+1;j++)
          {
            printf("* ");
          }
          printf("\n");
        }

    }
    return 0;
}
发表于 2023-04-06 15:12:06 回复(0)
#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 - i; j++) {
                printf("* ");
            }
            printf("\n");
        }
        for (int i = 0; i < n; i++) {
            for (int k = 0; k <= i + 1; k++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2023-03-11 09:41:04 回复(0)
#include <stdio.h>

int main() {
    int a;
    while (scanf("%d", &a) != EOF) {
        // 倒三角
        // 行
        for (int i = 0; i <= a; i++) {
            // 列
            for (int j = 0; j <= a - i; j++) {
                printf("* ");
            }
            printf("\n");
        }

        // 正三角去尖
        // 行
        for (int i = 0; i < a; i++) {
            // 列
            for (int j = 0; j <= i + 1; j++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
发表于 2023-03-01 18:27:52 回复(0)
#include<stdio.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        //k图案的上半部分
        int i = 0;
        for (i = 0; i <n ; i++)
        {
            int j = 0;
            for (j = 0; j <= n - i; j++)
            {
                printf("* ");
            }
            
            printf("\n");
        }
        //k图案的下半部分
        for (i = 0; i <=n; i++)
        {
            int j = 0;
            for (j = 0; j <= i; j++)
            {
                printf("* ");
            }

            printf("\n");
        }
        
    }
    return 0;
}
发表于 2023-03-01 13:05:13 回复(0)
#include <stdio.h>

int main() {
    int input,i,j,n,tmp;
    while(scanf("%d",&input)!=EOF)
    {
        for(n=0;n<input*2+1;n++)
        {
            tmp=input+1-n;
            if(n>=input+1)
            {
                tmp=n-(input-1);
            }
            for(i=0;i<tmp;i++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2022-11-03 17:34:40 回复(0)
#include <stdio.h>
int main() {
    int n, i, j;
    while (scanf("%d", &n) != EOF) {
        // 输出 n+1行,n+1列
        for (i = n+1; i >= 1; i--) {
            for (j = i; j >= 1; j--) {
                printf("* ");
            }
            printf("\n");
        }
        // 从第2行开始,n+1列
        for (i = 2; i <= n+1; i++) {
            for (j = 1; j <= i; j++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
发表于 2022-09-28 21:31:18 回复(0)
#include<stdio.h>
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        int i,j;
        for(i=n+1;i>1;i--){
            for(j=0;j<i;j++){
                printf("* ");
            }
            printf("\n");
        }
        for(i=0;i<n+1;i++){
            for(j=0;j<=i;j++){
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2022-09-01 23:20:00 回复(0)
int main()
{
    int a = 0;
    while((scanf("%d",&a))!=EOF)
    {
        int j = 0;
        int i = 0;
        for(i=0;i<=a;i++)
        {
            for(j=0;j<=a-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        for(i=0;i<a;i++)
            {
                for(j=0;j<=i+1;j++)
                {
                    printf("* ");
                }
                printf("\n");
            }
    }
    return 0;
}
不打印空格就可以过的代码看起来也很简答.
发表于 2022-08-15 16:54:57 回复(0)
#include<stdio.h>
int main(){
    int n,i,j,k;
    while(scanf("%d",&n)!=EOF){
        for(i=0;i<n+1;i++){
            for(j=n+1;j>i;j--){
                printf("* ");
            }
            printf("\n");
        }
        for(i=n+2;i<=2*n+1;i++){
            for(j=(2*n)+2-i;j<=n+1;j++){
                printf("* ");
            }
            printf("\n");
        }
    }
}

发表于 2022-07-23 15:35:42 回复(0)
#include<stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n+1;i++)
        {
            for(int j=0;j<=n-i;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
        for(int a=0;a<n;a++)
        {
            for(int b=0;b<=a+1;b++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
}

发表于 2022-06-29 22:46:42 回复(0)

问题信息

上传者:牛客309119号
难度:
48条回答 2814浏览

热门推荐

通过挑战的用户

查看代码