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


前言

本篇文章叙述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;
}

总结

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 12:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 12:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 12:30:02       82 阅读
  4. Python语言-面向对象

    2023-12-28 12:30:02       91 阅读

热门阅读

  1. 在Visual Studio(VS)编译器中,Release和Debug区别

    2023-12-28 12:30:02       54 阅读
  2. 【Web2D/3D】SVG(第二篇)

    2023-12-28 12:30:02       61 阅读
  3. *CSS: 级联样式表

    2023-12-28 12:30:02       56 阅读
  4. lodash源码分析每日一练 - 数组 - join

    2023-12-28 12:30:02       56 阅读
  5. Hive的视图和索引

    2023-12-28 12:30:02       60 阅读
  6. 31--设计模式、面向对象设计原则

    2023-12-28 12:30:02       44 阅读
  7. 探索Go语言的魅力:一门简洁高效的编程语言

    2023-12-28 12:30:02       56 阅读
  8. Mybatis 动态 SQL - foreach

    2023-12-28 12:30:02       55 阅读
  9. oj 1.8编程基础之多维数组 16:矩阵剪刀石头布

    2023-12-28 12:30:02       52 阅读
  10. 使用Docker快速安装grafana

    2023-12-28 12:30:02       60 阅读