对称输出字符串(对称+递归)--夏令营

题目

tips:

1、巧思:类似于将输入的字符串按一个上一个下输出;所以可以用递归+栈思考,第一个输入的直接输出,第二个存下来存进栈,如果没有字符串了,就可以输出第二个字符串,如果还有字符串则需让第二个字符串在栈里待一会,等输出第三个串之后回溯到她那再输出第二个串;由此思想可迭代,后面每一个都是这么想的,就是说第三个串就相当于刚刚思考下的第一个串一样,所以当判断第三个串还有没有的时候可以用递归,就是print(n);就是一输出一存一输出一存.......

2.这题还可以用普通方法,都存入字符串数组里,只不过可以用for循环存入,还要分n的奇数偶数。

答案

cpp 复制代码
#include <iostream>
#include<cmath>
#include<cstdio>
using namespace std;

void print(int n)
{
	string s; cin >> s;
	cout << s << endl;
	if (--n)
	{
		cin >> s;
		if (--n)
		{
			print(n);
		}
		cout << s << endl;
	}
}
int main()
{
	int n, loop = 0;
	cin >> n;
	while (n)
	{
		cout << "SET " << ++loop << endl;
		print(n);
		cin >> n;
	}
	return 0;
}
相关推荐
新手村领路人11 分钟前
c++ opencv调用yolo onnx文件
c++·opencv·yolo
啊森要自信13 分钟前
【QT】常⽤控件详解(六)多元素控件 QListWidget && Table Widget && Tree Widget
c语言·开发语言·c++·qt
屁股割了还要学23 分钟前
【数据结构入门】栈和队列
c语言·开发语言·数据结构·学习·算法·青少年编程
z樾35 分钟前
MATLAB核心技巧:从入门到精通
开发语言·matlab
Monkey的自我迭代36 分钟前
支持向量机(SVM)算法依赖的数学知识详解
算法·机器学习·支持向量机
暗流者1 小时前
信息安全简要
开发语言·网络·php
阿彬爱学习1 小时前
AI 大模型企业级应用落地挑战与解决方案
人工智能·算法·微信·chatgpt·开源
L.fountain2 小时前
配送算法10 Batching and Matching for Food Delivery in Dynamic Road Networks
算法·配送
laplaya2 小时前
高性能分布式通信框架:eCAL 介绍与应用
c++·分布式
绕灵儿3 小时前
C++ 部署LSTM(.onnx)
开发语言·c++·lstm