1、编写程序,输入一个字符串,判断该字符串是否为回文字符串,
算法简介:
1.输入字符串利用库函数找到字符串结束位置;
2.依次将字符串左侧的字符和字符串右侧字符比较,如果字符串相同继续,不同则退出比较。
3.根据之前比较是否有不同元素判断输出最后结果。
#include <iostream>
#include <cstring>
using namespace std;
bool isPalindrome(string str) {
int left = 0, right = str.length() - 1;
while (left < right) {
if (str[left] != str[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
string str;
cout << "请输入字符串:";
cin >> str;
if (isPalindrome(str)) {
cout << "是回文字符串" << endl;
} else {
cout << "不是回文字符串" << endl;
}
return 0;
}
#include <stdio.h>
int sf = 0;
void f(int n, int step)
{
if (n > 39) return;
if (n == 39 && step % 2 == 0) sf++;
f(n + 1, step + 1);
f(n + 2, step + 1);
}
int main(void)
{
f(0, 0);
printf("共有%d种上法\n", sf);
return 0;
}