C语言语言基础练习——图案输出(双重循环,经典)
答案:2 悬赏:70 手机版
解决时间 2021-12-03 14:58
- 提问者网友:原来太熟悉了会陌生
- 2021-12-02 20:33
C语言语言基础练习——图案输出(双重循环,经典)
最佳答案
- 五星知识达人网友:动情书生
- 2021-12-02 21:01
# include
# include
int main(void)
{
int a,w = 0, b = 0;
printf("请输入一个数:");
scanf_s("%d", &a);
for (int i = 0; i < a; i++) //控制循环次数
{
for (int q = a; q > i; q--) //每排前面的空格数量
{
printf(" ");
}
printf("*"); //输出一个星星
for (int x = 0; x < i + b; x++) //星星输出完后再输出一个空格, 第二次就是三个, 五个,七个这样输出下去,要不然会不对称
{
printf(" ");
}
if (w != 0) //这一行的意思就是让第一排只输出一个星星,第二排开始都输出两个星星
{
printf("*");
b++; //第一次输出只有一个星星,星星之间的空格要 1 3 5 7 9这样奇数递增,也就是从第二排开始才能递增,第二排i就变成1了,所以b要从第三行开始增加
}
printf("
");
w++;
}
for (int i = a; i >= 0; i--) //下半部分相反输出就好了
{
for (int q = i; q < a ; q++)
{
printf(" ");
}
printf("*");
for (int v = 0; v < i + b; v++)
{
printf(" ");
}
if (w > 0)
{
printf("*");
b--;
}
printf("
");
w--;
}
system("pause");
return 0;
}
//你还是自己试下数 ,动动脑筋,毕竟是为了自己好,我给你这个程序主要是要你自己看懂
//才行,要是你直接拿去交作业什么的,那我是在害你!
# include
int main(void)
{
int a,w = 0, b = 0;
printf("请输入一个数:");
scanf_s("%d", &a);
for (int i = 0; i < a; i++) //控制循环次数
{
for (int q = a; q > i; q--) //每排前面的空格数量
{
printf(" ");
}
printf("*"); //输出一个星星
for (int x = 0; x < i + b; x++) //星星输出完后再输出一个空格, 第二次就是三个, 五个,七个这样输出下去,要不然会不对称
{
printf(" ");
}
if (w != 0) //这一行的意思就是让第一排只输出一个星星,第二排开始都输出两个星星
{
printf("*");
b++; //第一次输出只有一个星星,星星之间的空格要 1 3 5 7 9这样奇数递增,也就是从第二排开始才能递增,第二排i就变成1了,所以b要从第三行开始增加
}
printf("
");
w++;
}
for (int i = a; i >= 0; i--) //下半部分相反输出就好了
{
for (int q = i; q < a ; q++)
{
printf(" ");
}
printf("*");
for (int v = 0; v < i + b; v++)
{
printf(" ");
}
if (w > 0)
{
printf("*");
b--;
}
printf("
");
w--;
}
system("pause");
return 0;
}
//你还是自己试下数 ,动动脑筋,毕竟是为了自己好,我给你这个程序主要是要你自己看懂
//才行,要是你直接拿去交作业什么的,那我是在害你!
全部回答
- 1楼网友:行路难
- 2021-12-02 21:32
很简单~~自己好好琢磨吧~~对循环嵌套很有训练价值~~加油~别偷懒~都这么过来的~~靠自己!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯