9、字符串反转
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述 :
输入一行,为一个只包含小写字母的字符串。
输出描述 :
输出该字符串反转后的字符串。
输入:abcd
输出:dcba
思路
- 判断输入的字符串是否是小写
- 若是小写,获取字符串的长度,从末尾开始输出.
- 若有大写,提示只能输入小写
具体实现
#include<stdio.h>
#include<string.h.>
#define MAX 1001//宏定义 最大值为MAX不超过1001
int main()
{
char ch[MAX];
printf("请输入小写字符串:");
scanf_s("%s", ch, MAX);
int len = strlen(ch);
printf("反转后的字符串为:");
for (int i = len; i >=0; i--) {
if (ch[i] >= 'A' && ch[i] <= 'Z') {//判断是否有大写字母
printf("你输入了有大写字母,不符合。");
return 0;
}
else {
printf("%c", ch[i]);
}
}
运行结果
时间复杂度(这块写的可能有错)
时间:与输入的字符串长度有关,O(n)————n字符串长度 空间:存储字符串的数组,所以为O(m)---m为字符数组的容量
小结
今天是截至目前写的最顺利的一天,算法虽然不是最优的,但是好歹用最笨的办法实现了功能。