1.循环问题解析的一般步骤:
1.仔细阅读题目:多组输入,一个奇数,表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
2.分析问题案例:样例输入:3
样例输出:
3.将问题分解为多个循环点:
1.在每行开头的空格个数存在循环
2.每行中的两个“*”之间的空格个数存在循环
3.上三行与下两行属于不同循环
4.每行的换行控制符存在循环
4。每次创建循环有两个步骤:
1.创建两个变量:其中一个的值随每次循环而改变,并作为判断条件,另一个的值不变 作为循环的执行条件
2.制作循环
2.代码编写:
#include<stdio.h>‘
int main()
{
int a;
scanf_s("%d", &a);
int b = (a + 1) / 2;
int i = 0;
int j = -1;
int h;
int p = a+2;
int q;
int z=a-1;
int y;
int x = 1;
int t;
int m=a-(a/2); int n;
if (a % 2 == 1)
{
for (i = 0; i <= b; i++)
{
p = p - 2;
j = j + 1;
for (h = 0; h < j; h++)
{
printf(" ");
}
printf("*");
for (q = 0; q < p; q++)
{
printf(" ");
}
if (i < b)
{
printf("*");
}
printf("\n");
}
for (n = 1; n <= m; n++)
{
for (y = 0; y < z-(a/2); y++)
{
printf(" ");
}
z = z - 1;
printf("*");
for (t = 0; t < x; t++)
{
printf(" ");
}
x = x + 2;
printf("*");
printf("\n");
}
}
return 0;
}
3.解决问题的一般步骤
1.观察结果,根据结果判断哪个循环出了问题。
2.主要问题总结:
1.循环次数不正确。解决方法:处理总循环的数据,比如加一减一。
2.部分循环未执行。解决方法:观察规定变量是否在每次循环结束的时候改变。
3.循环内容不正确。解决方法:处理每次变量的改变值或者处理判断条件语句。
4.只能执行一个数据,其余数据出错。解决方法:多打几个数据,统计出错规律,
以输入值为背景改变数据。