C语言程序在字符串中找出ASCⅡ最大字符放在第一位将字符前原字符向后顺序移动

如题所述

程序可分以下几步执行:

    1、遍历字符串,搜索ASCII最大的字符,记录其位置和值

    2、从记录位置前一个位置开始到第一个位置,将字符依次后移一个位置

    3、将记录的字符放在第一位

代码如下:

void process(char *str)
{
int i;
int loc = 0;
char c = '\0';

for (i = 0; i < strlen(str); i++)
if (str[i] > c)
{
c = str[i];
loc = i;
}

for (i = loc - 1; i >= 0; i--)
str[i + 1] = str[i];

str[0] = c;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-08
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[]="123abcZXY",b;
int i,j,L,big=0;
printf("orig string: %s\n",s);
L = strlen(s);
for (i=1;i<L;i++) if (s[i] > s[big] ) big=i;
b=s[big];
for (i=big;i>0;i--) s[i]=s[i-1];
s[0]=b;
printf("results: %s\n",s);
return 0;
}

--
orig string: 123abcZXY
results: c123abZXY本回答被提问者采纳
相似回答