《算法笔记》3.3-图形输出-题解

  时间:2020-08-06 19:42:27  阅读量:24  评论数:0  作者:自来也sama

学习编程,分析源码很重要,《算法笔记》3.3-图形输出-题解这篇文章通过代码举例讲述得比较清晰,想了解的可以参考学习一下。

算法笔记3.3-A题-输出梯形

题目链接

//图形输出主要在于找清楚输出图案数量与行,列之间的数量关系
#include <cstdio>
const char ch =  '*';
int main(void)
{
	int N;
	while(scanf("%d", &N) != EOF)
	{
		int tot = N   2 * (N - 1);
		for(int i = 1; i <= N; i  )
		{
			for(int j = 1; j <= tot; j  )
			{
				if(j <= (N - i) * 2) printf(" ");
				else printf("%c", ch);
			}
			printf("\n");
		}
	}
	return 0;
}

算法笔记3.3-B题-Hello World for U

题目链接

#include <cstdio>
#include <cstring>
char str[100];
int main(void)
{
	scanf("%s", &str);
	int len = strlen(str), n1 = (len   2) / 3, n3 = n1, n2 = len   2 - n1 - n3;		//这是根据题意推导的公式
	for(int i = 0; i < n1 - 1; i  )
	{
			for(int j = 0; j < n2; j  )
			{
				if(j == 0) printf("%c", str[j   i]);
				else if(j == n2 - 1) printf("%c", str[len - i - 1]);
				else printf(" ");
			}
		printf("\n");
	}
	for(int i = 0; i < n2; i  )
		printf("%c", str[n1   i - 1]);
	return 0;
}

算法笔记3.3-C题-等腰梯形

题目链接

#include <cstdio>
const char ch = '*';
int main(void)
{
	int N, M;
	scanf("%d", &M);
	while(M--)
	{
		scanf("%d", &N);
		int tot = N   2*(N-1);	//每层总数
		for(int i = 1; i <= N; i  )
		{
			for(int k = 1; k <= N - i; k  )
				printf(" ");
			for(int j = 1; j <= N   2 * (i - 1); j  )
				printf("%c", ch);
			printf("\n");
		}
	}
	return 0;
}

算法笔记3.3-D题-沙漏图形 tri2str [1* ]

题目链接

#include <cstdio>
const char ch = '*';
int main(void)
{
	int n;
	while(scanf("%d", &n) != EOF)
	{
		for(int i = 1; i <= n; i  )		//倒三角输出
		{
			for(int j = 1; j <= i - 1; j  )
				printf(" ");
			int flag = 1;
			for(int k = i - 1; k <= 2 * n - i; k  )
			{
				if(flag) {printf("%c", ch); flag = 0;}
				else {printf(" "); flag = 1;}
			}
			printf("\n");
		}
		//正三角输出,由于对称性,所以直接把倒三角倒数两层反着输出就行了
         for(int i = n - 1; i >= 1; i--)		
		{
			for(int j = 1; j <= i - 1; j  )
				printf(" ");
			int flag = 1;
			for(int k = i - 1; k <= 2 * n - i; k  )
			{
				if(flag) {printf("%c", ch); flag = 0;}
				else {printf(" "); flag = 1;}
			}
			printf("\n");
		}
	}
	return 0;
}

关键词:算法,笔记,图形,图形输出,输出,题解