| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 765 人关注过本帖
标题:将一个数字字符串,比如“4783912”排序后再拷贝给另一个字符串.咋弄啊,小 ...
只看楼主 加入收藏
spf2011win
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-1-6
结帖率:0
收藏
 问题点数:0 回复次数:5 
将一个数字字符串,比如“4783912”排序后再拷贝给另一个字符串.咋弄啊,小弟,菜鸟,希望大家帮帮忙!!!
将一个数字字符串,比如“4783912”排序后再拷贝给另一个字符串
char *(char *strDest, char *strSrc)
{

}
搜索更多相关主题的帖子: 字符串 
2011-10-18 09:24
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
收藏
得分:0 
int array[10] = {NULL};
遍历strSrc,将array[strSrc[i]-'0']++;
遍历array,顺序赋给strDest

[ 本帖最后由 smallmoon521 于 2011-10-18 09:50 编辑 ]

为游戏狂~~!!    大家努力编哈!
2011-10-18 09:47
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:0 
程序代码:
char* copy(char *strDest, char *strSrc)
{
  int i;
  for (i = 0; i < 7; i ++)
  {
     strDest[i] = strSrc[i];
  }
return NULL;
} 

或者可以用Strcpy(***, ***)函数来调用

排序可以用冒泡
char sort(char *name, int n)
{
   int i, j;
   for (i = 0; i < n; i ++)
   {
        for (j = i+1; j < n; j ++)
        {
             char temp;
             if ( name[i] > name[j])
             {
                  temp = name[i];
                  name[i] = name[j];
                  name[j] = temp;
              }
         }
    }
return name[i];
}
2011-10-18 14:26
玉立
Rank: 2
等 级:论坛游民
帖 子:32
专家分:24
注 册:2011-10-17
收藏
得分:0 
看下c语言经典教材7.3节吧,用strcat函数来完成比较方便。
2011-10-18 14:49
玉立
Rank: 2
等 级:论坛游民
帖 子:32
专家分:24
注 册:2011-10-17
收藏
得分:0 
回复 3楼 lin471306489
能给我讲解一下return的具体作用和用法吗?谢谢了
2011-10-18 15:07
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:0 
程序代码:
#include<iostream.h>
#include<string.h>
class SortCopy {
public:
    SortCopy(char *name1);
    ~SortCopy();
    char sort();                                // 排序字串中的内容   
    void copy(char *strDest, char *strSrc);     // 把原字串赋给目标字串
    void show();
private:
    char *name;                 // 字符串
};
SortCopy::SortCopy(char *name1)
{
    name = new char[strlen(name1) + 1];
    strcpy(name, name1);
}
SortCopy::~SortCopy()
{
    delete []name;
}
char SortCopy::sort()             // 冒泡排序
{
    int i, j;
    for (i = 0; i < 8; i ++)
    {
        for (j = i+1; j < 8; j ++)
        {
            char temp;
            if(name[i] > name[j])
            {
                temp = name[i];
                name[i] = name[j];
                name[j] = temp;
            }
        }
    }
    return name[i];
}
void SortCopy::copy(char *strDest, char *strSrc)      // 调用strcpy函数
{
    strDest = name;
    strDest = new char[strlen(strSrc) + 1];
    strcpy(strDest, strSrc);
}
void SortCopy::show()
{
    int i = 0;
    for(i = 0; i < 8; i++)
        cout << name[i] << " ";
}
void main()
{
    char *ia = "4783912";
    SortCopy ob(ia);
    cout << "原来的字符串;" << endl;
    ob.show();
    cout << endl;
    cout << "排序:" << endl;
    ob.sort();
    ob.show();
    cout << endl;
    char *ib;
    cout << "赋给ib:" << endl;
    ob.copy(ib, ia);
    ob.show();
    cout << endl;
}
参考一下吧,这是用c++做的,当然也能用c做,主要函数差不多的
2011-10-18 17:55
快速回复:将一个数字字符串,比如“4783912”排序后再拷贝给另一个字符串.咋弄啊 ...
数据加载中...
 
   



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

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