c语言-打印某种图案练习题

2023-12-26 20:30:08


前言

本篇文章叙述c语言中打印某种图案的练习题,以便加深对c语言的运用和理解。


一、题目一

在这里插入图片描述
题目分析:
行与行之间的关系:第一行不进行空格,从第二行开始空一个空格,后面的空格式逐行递增1一个空格;
列与列之间的关系:每一列之间使用一个空格隔开。
代码实现:

int main()
{
	char str[5] = { '*','*','*','*','*' };
	int i = 0;
	int j = 0;
	int k = 0;
	char space = ' ';
	for (i = 0; i < 5; i++)
	{
		for (j = 1; j <= i; j++)//输出每一行之前的空格
		{
			printf("%c",space);
		}	
		//输出元素
		for (k = 0; k < 5; k++)
		{
			printf("%c", str[k]);
			if (k < 4)
				printf("%c", space);
		}
		printf("\n");
	}
	return 0;
}

二、题目二

在这里插入图片描述
题目分析:
将整个图形看成是一个矩形,发现其实打印的是矩形的两条对角线;
设i,j表示行下标和列下标(从0开始),n表示长度
第一条对角线条件:i = = j;
第二条对角线条件:(i+j) = = (n -1);
代码实现:

int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		for (i = 0; i < n; i++)
		{
			int j = 0;
			for (j = 0; j < n; j++)
			{
				if (i == j || ((i + j) == (n - 1)))
					printf("*");
				else
					printf(" ");
			}
			printf("\n");
		}
	}
	return 0;
}

总结

在做这些关于打印图案的题目时,主要还是找到规律,入手点是观察每一行的关系,观察每一列的关系,然后是观察行与列之间的关系。最后是把它们当做二维数组,相当于有条件地遍历二维数组。

文章来源:https://blog.csdn.net/pyc68/article/details/135228748
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。