✨✨✨【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(七)✨✨✨

🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷

🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷🐷


💚BC62、翻转金字塔图案

描述:

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

输入描述:

多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数

输出描述:

针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格

示例:

输入:
5

输出:
* * * * * 
 * * * * 
  * * * 
   * * 
    * 
    
输入:
6

输出:
* * * * * * 
 * * * * * 
  * * * * 
   * * * 
    * * 
     * 

代码:

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

	return 0;
}

结果:

扩展:

  • 多组输入
  • 控制好打印几行,每行打印的内容


🧡BC63、菱形图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
2

输出:
  * 
 * * 
* * * 
 * * 
  * 
    
输入:
3

输出:
   * 
  * * 
 * * * 
* * * * 
 * * * 
  * * 
   * 
    
输入:
4

输出:
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 

代码:

#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		int i = 0;
		//可以把打印的菱形分成两个部分
		//打印第一部分
		for (i = 0; i < a; i++)
		{
			//打印前面空格
			int j = 0;
			for (j = 0; j < a - i; j++)
			{
				printf(" ");
			}
			//打印*和空格
			for (j = 0; j < i + 1; j++)
			{
				printf("* ");
			}
			printf("\n");
		}
		//打印第二部分
		for (i = 0; i < a + 1; i++)
		{
			int m = 0;
			//打印前面空格
			for (m = 0;m < i ; m++)
			{
				printf(" ");
			}
			//打印*和空格
			for (m = 0; m < a + 1 - i; m++)
			{
				printf("* ");
			}
			printf("\n");
		}
	}

	return 0;
}

结果:

扩展:

  • 把菱形分为两个部分,上半部分和下半部分
  • 控制好每一行,每一列的输出内容


💛BC64、K形图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
2

输出:
* * * 
* *  
*   
* *  
* * * 
    
输入:
3

输出:
* * * * 
* * *  
* *   
*    
* *   
* * *  
* * * * 
    
输入:
4

输出:
* * * * * 
* * * *  
* * *   
* *    
*     
* *    
* * *   
* * * *  
* * * * * 

代码:

#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		//分为两部分打印
		//第一部分
		int i = 0;
		for (i = 0; i < a; i++)
		{
			int m = 0;
			for (m = 0; m < a + 1 - i; m++)
			{
				printf("* ");
			}
			for (m = 0; m < i; m++)
			{
				printf(" ");
			}
			printf("\n");
		}
		//第二部分
		for (i = 0; i < a + 1; i++)
		{
			int n = 0;
			for (n = 0; n < i + 1; n++)
			{
				printf("* ");
			}
			for (n = 0; n < a - i; n++)
			{
				printf(" ");
			}
			printf("\n");
		}
	}

	return 0;
}

结果:


💙BC65、箭形图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
2

输出:
    *
  **
***
  **
    *
    
输入:
3

输出:
      *
    **
  ***
****
  ***
    **
      *
    
输入:
4

输出:
        *
      **
    ***
  ****
*****
  ****
    ***
      **
        *

代码:

#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		int i = 0;
		//上半部分
		for (i = 0; i < a; i++)
		{
			int m = 0;
			for (m = 0; m < a - i; m++)
			{
				printf("  ");
			}
			for (m = 0; m < i + 1; m++)
			{
				printf("*");
			}
			printf("\n");
		}
		//下半部分
		for (i = 0; i < a + 1; i++)
		{
			int n = 0;
			for (n = 0; n < i; n++)
			{
				printf("  ");
			}
			for (n = 0; n < a + 1 - i; n++)
			{
				printf("*");
			}
			printf("\n");
		}
	}

	return 0;
}

结果:

扩展:

  • 把图形分为两个部分
  • 每一行前面是空格,后边是*(前面2个空格为1组)


💜BC66、反斜线图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
4

输出:
*   
 *  
  * 
   *
    
输入:
5

输出:
*    
 *   
  *  
   * 
    *

代码:

//方法一
#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		int i = 0;
		for (i = 0; i < a; i++)
		{
			int j = 0;
			for (j = 0; j < i; j++)
			{
				printf(" ");
			}
			printf("*");
			printf("\n");
		}
	}

	return 0;
}

//方法二
#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		int i = 0;
		for (i = 0; i < a; i++)
		{
			int j = 0;
			for (j = 0; j < a; j++)
			{
				if (i == j)
				{
					printf("*");
				}
				else
				{
					printf(" ");
				}
			}
			printf("\n");
		}
	}

	return 0;
}

结果:

扩展:

可以通过画图来分析,*所在位置的特点


🤎BC67、正斜线图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
4

输出:


    
输入:
5

输出:
    *
   * 
  *  
 *   
* 

代码:

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

	return 0;
}

//方法二
#include <stdio.h>
int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		int i = 0;
		for (i = 0; i < a; i++)
		{
			int j = 0;
			for (j = 0; j < a; j++)
			{
				if ((i + j) == (a-1))
				{
					printf("*");
				}
				else
				{
					printf(" ");
				}
			}
			printf("\n");
		}
	}

	return 0;
}

结果:

扩展:

可以通过画图来分析,*所在位置的特点


🖤BC68、X形图案

描述:

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

输入描述:

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

输出描述:

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

示例:

输入:
5

输出:
*   *
 * * 
  *  
 * * 
*   *
    
输入:
6

输出:
*    *
 *  * 
  **  
  **  
 *  * 
*    *

代码:

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

	return 0;
}

结果:


💚BC69、空心正方形图案

描述:

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

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量

输出描述:

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

示例:

输入:
4

输出:
* * * * 
*     * 
*     * 
* * * *
    
输入:
5

输出:
* * * * * 
*       * 
*       * 
*       * 
* * * * *

代码:

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

	return 0;
}

结果:


🧡BC70、空心三角形图案

描述:

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

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量

输出描述:

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

示例:

输入:
4

输出:
*       
* *     
*   *   
* * * * 
    
输入:
5

输出:
*         
* *       
*   *     
*     *   
* * * * *

代码:

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

	}

	return 0;
}

结果:

离开前,别忘了👍关注💡收藏💖
希望本文能够对大家有帮助~!


🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 往期刷题文章分享🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(一)

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(二)

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(三)

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(四)

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(五)

【C语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(六)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值