黑马程序员技术交流社区

标题: 字符串移动字符的问题 [打印本页]

作者: jiangenhao    时间: 2014-4-24 22:23
标题: 字符串移动字符的问题
本帖最后由 jiangenhao 于 2014-4-26 00:42 编辑

下面程序的功能是在字符串s中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如:boy&girl变成ybo&girl。请选择填空。
#include "stdio.h"
#include "string.h"
    main()
    {
        char s[80], *t, max, *w;
        t=s;
        gets(t);
        max=*(t++);
        while (*t!='\0')
        {
            if (max<*t)
            { max=*t;  w=t; }
            t++;
        }
        t=w;
        while (【1】)
        {
            *t=*(t-1);
            【2】;}
        *t=max;
        puts(t);
    }

作者: blz01003hm    时间: 2014-4-24 22:47
你那个地址貌似总出错 我写了个你参考下
#include "stdio.h"
#include "string.h"
int   main()
    {
        char s[]="boy&girl";
int t, max,i=0,length=0;
puts(s);
length=strlen(s);
max=s[0];
for(i=0;i<length;++i){
if(max<s[i]){
max=s[i];
t=i;
}
}
for(i=t;i>0;i--){
s[i]=s[i-1];
}
s[0]=max;

        puts(s);
return  0;
    }
作者: jiangenhao    时间: 2014-4-24 22:52
我想知道空里面填什么 这是 我们一道作业题 坐不上了 老师也不讲 请教大家
作者: jiangenhao    时间: 2014-4-26 00:33
谁能指点一下啊 做不上啊
作者: jiangenhao    时间: 2014-4-26 00:42
研究明白了 [1]处填 t>0;
[2]处填 t--;
结束提问 了 谢谢大家




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2