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语言】带你用最短的时间刷题(附解题思路、具体代码)不断更新(四)