C语言学习过程记录19 字符串练习1

1.计算一句话最后一个单词的字符串长度

输入样例:I like apple

输出样例:5

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string str;
	string endstr;
	getline(cin,str);
	int loc = str.find_last_of(" ");
	endstr = str.substr(loc+1,str.length());
	int l = endstr.length();
	cout<<l<<endl;
	return 0;
}

运行结果:

2.验证这串英文是否是回文串

回文串:如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。若是回文串,返回ture,否则返回false

输入样例1:

AAA,CCC,111,ccc,aaa

输出样例1:

ture

输入样例2:

A1cbd24563,AAA

输出样例2:

false

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
	int isalpha(int ch);
	int isdigit(int x);
	string str1;
	string str2;
	getline(cin,str1);
	string::iterator it;
	for(it=str1.begin();it!=str1.end();it++)
	{
		int i = isalpha(*it);
		int j = isdigit(*it);
		if(i==0&&j==0)
		{
			str1.erase(it);
			it--;
		}
		else if(i==1&&j==0)
		{
			*it = *it+32;
		}
		else
		{
			;
		}
			
	}
	str2=str1;
	reverse(str1.begin(),str1.end());
	int i = str1.compare(str2);
	if(i==0)
	cout<<"ture"<<endl;
	else
	cout<<"false"<<endl;
	return 0;
}

运行结果1:

运行结果2:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值