3432 - 字符串的后继

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编码实现求输入的一个字符串(全为小写英文字母)的最小后继,如"abc"的最小后继为"abd","dhz"的最小后继为"di"

题目输入

题目输出

输入/输出样例

输入格式

abc

输出格式

abd

C语言解答

#include<stdio.h>
#include<string.h>
#define N 20
void make(char str[],int i){
	if(str[i]=='z'){
		make(str,i-1);
	}
	else{
		str[i]++;
		str[i+1]='\0';
	}
}
int main(){
	char str[N];
	gets(str);
	make(str,strlen(str)-1);
	if(str[0]!='z'){
		printf("%s",str);
	}
	return 0;
}

C++解答

#include<stdio.h>
#include<string.h>
int main()
{
	char str[100];
	int i;
	gets(str);
	int len = strlen(str);
	int count = 0;
	for(i = len-1;i >= 0;i--)
	{
		if(str[i] == 'z')
		{
			str[i] = '\0';
		}
		else
		{
			str[i] = char(str[i]+1);
			break;
		}
	}
	puts(str);
}

Java解答

public class Main {
public static void main(String[] args) {
	java.util.Scanner in = new java.util.Scanner(System.in);
	while (in.hasNext()) {
		String s=in.next();
		String ss="";
		int i;
		for(i=s.length()-1;i>=0;i--)
		{
			if(s.charAt(i)!='z')
			{
				ss=""+(char)(s.charAt(i)+1);
				break;
			}
			else
				continue;
		}
		for(int j=0;j<i;j++)
		{
			System.out.print(s.charAt(j));
		}
		System.out.println(ss);
	}
	in.close();
}
}