3432 - 字符串的后继
时间限制 : 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(); } }