标题:一个关于递归调用的程序请解说下
只看楼主
shooface
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-13
 问题点数:0 回复次数:0 
一个关于递归调用的程序请解说下
#include<stdio.h>
#include<string.h>
int main(){
char str[60];
int len, i, j, chr[26];
char mmin = 'z';
scanf("%s", str);
len = strlen(str);
for (i = len - 1; i >= 1; i--)
if (str[i - 1] < str[i]) break;
if (i == 0) {
printf("No result!\n");
return 0;
}
for (j = 0; j < i - 1; j++) putchar(str[j]);
memset(chr, 0, sizeof(chr));
for (j = i; j < len; j++) {
if (str[j] > str[i - 1] && str[j] < mmin)
mmin = str[j];
chr[str[j] - 'a']++;
}
chr[mmin - 'a']--;
chr[str[i - 1] - 'a']++;
putchar(mmin);
for(i = 0; i < 26; i++)
for(j = 0; j < chr[i]; j++)
putchar(i + 'a');
putchar('\n');
return 0;
}
输入:zzyzcccbbbaaa
输出:
搜索更多相关主题的帖子: 递归 解说 
2007-10-13 23:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-177408-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.683831 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved