Java教程

9.28

本文主要是介绍9.28,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天编写了用栈实现回文的代码.

代码如下:

#include<iostream>
using namespace std;
const int Maxsize = 100;
class stact {
public:
char data[Maxsize];
int top = 0;
void push(char b) {
data[++top] = b;
}
char pop() {
return data[top--];
}
};

int main() {
stact S_n1;
int n = 0;
char ch_str[100];
char ch_s[100];
char ch_n;
cin >> n;
getchar();
for (int i = 0; i < n; i++) {
ch_n = getchar();
if (ch_n == ' ') {
cout << "入栈不成功";
return 0;
}
else {
S_n1.push(ch_n);
ch_s[i] = ch_n;
}
}
for (int i = 0; i < n; i++) {
ch_str[i] = S_n1.pop();
}
int count = 0;
for (int i = 0; i < n; i++) {
if (ch_str[i] == ch_s[i]) count ++;
}
if (count == n) {
cout << "此字符串是回文串";
}
else cout << "此字符串不是回文串";
}

开始时,我想用flag来判断是否为回文,但是后来发现先对会很麻烦,也出现了bug,最后我决定用计数器来判断是否重复。

这篇关于9.28的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!