【C语言】第六十三题→打印X型图案

123 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

🚩write in front🚩   

🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 阿里云星级博主~掘金⇿InfoQ~51CTOP创作者~周榜91﹣总榜823⇿全网访问量35w+🏅
🆔本文由 謓泽 发布到掘金(JueJin) 如需转载还请通知⚠
📝个人主页-謓泽 的个人主页 - 文章 - 掘金 (juejin.cn)📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏-【C语言】Topic - 謓泽的专栏 - 掘金 (juejin.cn)🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩\

第六十三题→打印X型图案

✔题解思路如下👇

每日名言:世界总是一样的,只是我们的心情和遭遇不一样而已。
⒈题目的本质。
说明⇢这道题目实际上解题的关键就是发现它的规律,只要发现了它的规律,解决这道题目还是非常容易的。
⒉最终在程序当中的结果。

*   *
 * * 
  *  
 * * 
*   *

说明⇢从上述图型当中我们可以发现规律,当行和列相等的时候就打印""号,当行和列加起来等于④的时候那么就打印""号,其余都是打印空格的。我们这不就是很好的解决了这道题目的核心问题。其实变成无非就是一个编程的思想和逻辑。

⒊题目输入的要求。
说明⇢本题目对于输入的数字N,输出用 "*" 组成的X型图案。注-输入要求是多组输入!

⒋多组输入的含义。
说明⇢在前面的题目也有这个要求,while (scanf("%d",&N) != EOF),退出实际上ctrl+z就可以退出程序运行。

⒌拓展-有很多刚学小伙伴不知道EOF是什么意思,这里来解释下这行代码代表的意思吧!输入包含多组测试数据,正常使用scanf("%d",&N);只能输入一组,所以就要加上while循环语句。循环条件为读入不为EOF(文档结束符),可以手动输入ctrl+z跳出循环。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	int N = 0;
	int i = 0;
	int j = 0;
	printf("请输入数字->:");
	while (scanf("%d", &N) != EOF)
	{
		//行
		for (i = 0; i < N; i++)
		{
			//列
			for (j = 0; j < N; j++)
			{
				//判断
				if (i == j)//坐标行列相等情况
					printf("*");
				else if (i + j == N - 1)//行+列=4,我们这里的N=5,所以要减1
					printf("*");
				else//空格
					printf(" ");
			}
			//每次打印一行换行
			printf("\n");
		}
	}
	return 0;
}

运行结果🖊
请输入数字->:5

*   *
 * * 
  *    
 * * 
*   *

最后END:贵在坚持!💪相信自己要自信好吧👋