题目:
KiKi学习了循环, BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*"组成的箭形图案。
输入描述:
本题多组输入,每行个整数(2~20)。
输出描述:
针对每行输入,输出用“”组成的箭形。
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int input = 0;
int i = 0;
int j = 0;
int tem = 0;
//我们将箭型分为3个部分来看,分开实现
// 上部 -- 有input行
// 中部 -- 有1行
// 下部 -- 有input行
//
while (scanf("%d", &input) == 1)
{
tem = 0;
//上部
for (i = 0; i < input; i++)
{
for (j = 0; j < input * 2 - tem; j++)//空格每行减少2位
{
printf(" ");
}
for (j = 0; j <= i; j++)//每行输出i个*号,但因为我们的i是从0开始数,所以使用<=i
{
printf("*");
}
tem += 2;
printf("\n");
}
tem = 0;
//下中部
for (i = 0; i < input + 1; i++)
{
for (j = 0; j < tem; j++)//空格每行增加2位
{
printf(" ");
}
for (j = 0; j <= input - i ; j++)//*号每行减少1位,但因为i是从0开始,所以是<=i
{
printf("*");
}
tem += 2;
printf("\n");
}
}
return 0;
}