| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 727 人关注过本帖
标题:新手想学好C,求解,谢谢!
只看楼主 加入收藏
Godboy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-4-14
收藏
 问题点数:0 回复次数:4 
新手想学好C,求解,谢谢!
编写函数,将字符串a中下标值为偶数的元素由小到大排序,其他元素不变。
函数原型如下:  void sort(char *a);
搜索更多相关主题的帖子: 求解 函数 标值 元素 求解 函数 标值 元素 
2008-04-14 00:55
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#define MAX 50
/*
@功能:定义一个函数,其功能是“将字符串a中下标值为偶数的元素由小到大排序,其他元素不变“
@参数:指向要排序的字符串的指针
@返回值:无
*/
void sort(char *a)
{
    int len = strlen(a), i, j;
    char c;
    for (i = 0; i < len; i += 2)   //这个地方应该是 i < len - 2; 否则数组会越界的。
    {
        for (j = i + 2; j < len; j += 2)
        {
            if (*(a + i) > *(a + j))
            {
                c = *(a + i);
                *(a + i) = *(a + j);
                *(a + j) = c;
            }
        }
    }
}

/*
@功能:主函数,调用sort(char *a)对输入的字符串进行排序
*/
int main(void)
{
    char c[MAX];
    printf("Please input a string with max length %d:\n", MAX);
    scanf("%s", c);
    if (strlen(c) > 50)
    {
        printf("The string that you input is too long!");        
        exit(0);
    }
    sort(c);
    printf("After sort:\n");
    puts(c);
    return 0;
}

[[it] 本帖最后由 mqh21364 于 2008-4-14 15:21 编辑 [/it]]

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-14 10:06
bianfeng
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-28
收藏
得分:0 
二楼的回答的有错吧。。。。
会越界的
void sort(char *a)
{
    int len = strlen(a), i, j;
    char c;
    for (i = 0; i < len-2; i += 2)
    {
        for (j = i + 2; j < len; j += 2)
        {
            if (*(a + i) > *(a + j))
            {
                c = *(a + i);
                *(a + i) = *(a + j);
                *(a + j) = c;
            }
        }
    }
}
2008-04-14 14:45
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
哦,不好意思,是会越界的,谢谢楼上的!!

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-14 15:20
Godboy
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-4-14
收藏
得分:0 
谢谢哦
2008-04-15 16:30
快速回复:新手想学好C,求解,谢谢!
数据加载中...
 
   



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

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