栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

字符串加一处理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串加一处理

要求描述

一串包含小写字母和数字的混合字符串进行n次加一操作。
例:“zz”+1 = “111”、“aa”+1 = “ab”、“az”+1 = “b1”、“a9”+1 = “ba”

C++程序清单
#include
#include
using namespace std;
int main()
{
	string str,s;//str包含小写字母和数字 
	int n;//n次+1
	int flag=0;//有进位情况为1 
	int flag_nums=0;//进位的次数
	while( true )
	{
		cin>>str>>n;
		s = str;
		if( str=="over" )
		return 0;
		flag_nums=0;
		for( int i=1; i<=n; i++ )
		{
			flag = 0;
			flag_nums = 0;
			for( int j=str.size()-1; j>=0; j-- )
			{
				if( flag==1 || j==str.size()-1  )//flag=1表明有进位情况出现,j=str.size()-1为最后一位加1情况 
				{
					if( (int)str[j]+1 > 122 )//'z'+ 1的情况 
					{
						flag_nums++;
						flag = 1;
						str[j] = '1';
						if( flag_nums == str.size() )//有str.size()次进位 则str串增长 例:"zz"+1 ="111" 
						{
							cout<<"源串为 "< 
运行结果 
zz 15
源串为 zz的第1次+1结果为 111
源串为 zz的第2次+1结果为 112
源串为 zz的第3次+1结果为 113
源串为 zz的第4次+1结果为 114
源串为 zz的第5次+1结果为 115
源串为 zz的第6次+1结果为 116
源串为 zz的第7次+1结果为 117
源串为 zz的第8次+1结果为 118
源串为 zz的第9次+1结果为 119
源串为 zz的第10次+1结果为 11a
源串为 zz的第11次+1结果为 11b
源串为 zz的第12次+1结果为 11c
源串为 zz的第13次+1结果为 11d
源串为 zz的第14次+1结果为 11e
源串为 zz的第15次+1结果为 11f
1x 15
源串为 1x的第1次+1结果为 1y
源串为 1x的第2次+1结果为 1z
源串为 1x的第3次+1结果为 21
源串为 1x的第4次+1结果为 22
源串为 1x的第5次+1结果为 23
源串为 1x的第6次+1结果为 24
源串为 1x的第7次+1结果为 25
源串为 1x的第8次+1结果为 26
源串为 1x的第9次+1结果为 27
源串为 1x的第10次+1结果为 28
源串为 1x的第11次+1结果为 29
源串为 1x的第12次+1结果为 2a
源串为 1x的第13次+1结果为 2b
源串为 1x的第14次+1结果为 2c
源串为 1x的第15次+1结果为 2d
over 2

--------------------------------
Process exited after 30.74 seconds with return value 0
请按任意键继续. . .
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号