鱼C论坛

 找回密码
 立即注册
查看: 2601|回复: 8

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

[复制链接]
发表于 2014-1-20 19:51:21 | 显示全部楼层 |阅读模式
1鱼币
         求帮忙
T$(]VZU]XT)]YC2ZSHMOK[4.jpg

最佳答案

查看完整内容

我也写了一个,代码仅供参考:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-20 19:51:22 | 显示全部楼层
我也写了一个,代码仅供参考:
  1. void deblank(char string[])
  2. {
  3.         //字符串长度
  4.         int nLen = strlen(string);
  5.         if (nLen <=0)
  6.         {
  7.                 printf("string is empty!\n");
  8.                 return ;
  9.         }

  10.         //查找空格
  11.         int nstrnum = 0;
  12.         //标记空格键个数
  13.         int nflag = -1;
  14.         for (int i=0; i<nLen; ++i)
  15.         {
  16.                 //找到第一个空格的位置
  17.                 if (' ' == string[i])
  18.                 {
  19.                         nstrnum = i;
  20.                         nflag = -1;
  21.                         //查看后面有多少个空格
  22.                         for (int j=i; i<nLen; ++j)
  23.                         {
  24.                                 if (' ' == string[j])
  25.                                 {
  26.                                         ++nflag;
  27.                                 }
  28.                                 else
  29.                                 {
  30.                                         break;
  31.                                 }
  32.                         }
  33.                         //如果只有一个空格,下面代码不执行
  34.                         if (-1 == nflag)
  35.                         {
  36.                                 break;
  37.                         }
  38.                         //将第一个空格后的字符前移
  39.                         nLen = nLen-nflag;
  40.                         for (int k = i+1; k<nLen; ++k)
  41.                         {
  42.                                 string[k] = string[nflag+k];
  43.                         }
  44.                         //修改第二次循环的位置
  45.                         i = i+nflag;
  46.                 }
  47.         }
  48.         //重新设置字符串的结束位置
  49.         string[nLen] = '\0';
  50. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-20 20:27:46 | 显示全部楼层
我直接写在main函数里了啊
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char ch;
  5.         printf("请输入一个字符串:");
  6.         while((ch = getchar()) != '\n')
  7.         {
  8.                 if(ch == ' ')
  9.                 {
  10.                 }
  11.                 else
  12.                 {
  13.                         printf("%c",ch);
  14.                 }
  15.         }
  16.         printf("\n");       
  17.        
  18.         return 0;
  19. }
复制代码

评分

参与人数 1鱼币 +3 收起 理由
独自存活 + 3 谢谢 指点迷津

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-1-20 21:58:42 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-20 23:04:00 | 显示全部楼层
三楼正确,1楼应该是没看清题目,他把所有空格都干掉了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-21 09:18:01 | 显示全部楼层
那楼主是不是结贴了呢!!!:ton:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-22 11:40:29 | 显示全部楼层
独自存活 发表于 2014-1-20 21:58
我想的跟你一样  楼上那个无论有多少个空格都不输出,

不好意思 题目没看清 老毛病了 ~~~~(>_<)~~~~ 所以这次物理考试 从第一降到第6
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-22 12:27:40 | 显示全部楼层
本帖最后由 dlzhwm 于 2014-1-23 01:01 编辑

01.jpg
void deblank(char string[])
具体内容已在技术交流发贴-册除多余空格的小程序。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-22 12:36:31 | 显示全部楼层
本帖最后由 dlzhwm 于 2014-1-23 01:02 编辑

楼主太忙了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-27 16:59:14 | 显示全部楼层
我是来回复赚鱼币的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-2-8 20:43:11 | 显示全部楼层
路过看看 = =
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-13 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表