独自存活 发表于 2014-1-20 19:51:21

C和指针第四章的一道编程题目 求助啊

         求帮忙

小亮1201 发表于 2014-1-20 19:51:22

我也写了一个,代码仅供参考:void deblank(char string[])
{
        //字符串长度
        int nLen = strlen(string);
        if (nLen <=0)
        {
                printf("string is empty!\n");
                return ;
        }

        //查找空格
        int nstrnum = 0;
        //标记空格键个数
        int nflag = -1;
        for (int i=0; i<nLen; ++i)
        {
                //找到第一个空格的位置
                if (' ' == string)
                {
                        nstrnum = i;
                        nflag = -1;
                        //查看后面有多少个空格
                        for (int j=i; i<nLen; ++j)
                        {
                                if (' ' == string)
                                {
                                        ++nflag;
                                }
                                else
                                {
                                        break;
                                }
                        }
                        //如果只有一个空格,下面代码不执行
                        if (-1 == nflag)
                        {
                                break;
                        }
                        //将第一个空格后的字符前移
                        nLen = nLen-nflag;
                        for (int k = i+1; k<nLen; ++k)
                        {
                                string = string;
                        }
                        //修改第二次循环的位置
                        i = i+nflag;
                }
        }
        //重新设置字符串的结束位置
        string = '\0';
}

牡丹花下死做鬼 发表于 2014-1-20 20:27:46

我直接写在main函数里了啊#include <stdio.h>

int main()
{
        char ch;
        printf("请输入一个字符串:");
        while((ch = getchar()) != '\n')
        {
                if(ch == ' ')
                {
                }
                else
                {
                        printf("%c",ch);
                }
        }
        printf("\n");       
       
        return 0;
}

独自存活 发表于 2014-1-20 21:58:42

小亮1201 发表于 2014-1-20 20:46 static/image/common/back.gif
我也写了一个,代码仅供参考:

我想的跟你一样楼上那个无论有多少个空格都不输出,

machimilk 发表于 2014-1-20 23:04:00

三楼正确,1楼应该是没看清题目,他把所有空格都干掉了

小亮1201 发表于 2014-1-21 09:18:01

那楼主是不是结贴了呢!!!:ton:

牡丹花下死做鬼 发表于 2014-1-22 11:40:29

独自存活 发表于 2014-1-20 21:58 static/image/common/back.gif
我想的跟你一样楼上那个无论有多少个空格都不输出,

不好意思 题目没看清 老毛病了 ~~~~(>_<)~~~~ 所以这次物理考试 从第一降到第6

dlzhwm 发表于 2014-1-22 12:27:40

本帖最后由 dlzhwm 于 2014-1-23 01:01 编辑


void deblank(char string[])
具体内容已在技术交流发贴-册除多余空格的小程序。

dlzhwm 发表于 2014-1-22 12:36:31

本帖最后由 dlzhwm 于 2014-1-23 01:02 编辑

楼主太忙了。

小生帅气 发表于 2014-1-27 16:59:14

我是来回复赚鱼币的

未闻丶花名 发表于 2014-2-8 20:43:11

路过看看 = =
页: [1]
查看完整版本: C和指针第四章的一道编程题目 求助啊