| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:一个字符串的问题
只看楼主 加入收藏
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
结帖率:100%
收藏
 问题点数:0 回复次数:11 
一个字符串的问题
比如输入一个字符串
my name is tom
输出
tom is name my
scanf输入遇到空格就当'\0'处理结束了,不知道该怎么办
只能使用scanf输入
各位大哥给点解题思路吧,那些空格要怎么处理呢?(新手一枚,各位大哥不用想那么复杂,帮我分析一下就好)

[ 本帖最后由 w851777025 于 2014-2-2 01:13 编辑 ]
搜索更多相关主题的帖子: 大哥 字符串 
2014-02-01 23:52
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:0 
居然没有问题点数?

本人QQ:775420425
2014-02-02 11:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 楼主 w851777025
你用什麽編程?

授人以渔,不授人以鱼。
2014-02-02 11:38
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:0 
本来有点数啊,我昨天问的,没人理我我就想结贴了。没想到只是点数没了帖子还在啊
一道C题目,VC6.0编程
问题解决了,我在开个贴给分也可以啊
大哥们,在线等哦……

[ 本帖最后由 w851777025 于 2014-2-2 16:48 编辑 ]
2014-02-02 16:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

#define NUMBER_WORDS    100        // 單詞極限數目
#define LENGTH_WORD     30         // 單詞極限長度

int main(void)
{
    char words[NUMBER_WORDS][LENGTH_WORD] = { "" };
    int number = 0;
    char* p;

    // 輸入文本,有沒有回車都可以,祇有遇到'.'字符才結束循環
    while ((number < NUMBER_WORDS) && (scanf_s("%s", words[number], LENGTH_WORD) == 1))
    {
        // 查找單詞最後一個字符是否'.'字符,若是則抹掉它,然後結束讀取循環
        p = strrchr(words[number++], '.');
        if (p != NULL)
        {
            *p = '\0';
            break;
        }
    }

    // 逆序輸出讀入的文本
    printf_s("\n\n結果:\n");
    for (int index = number; index > 0; --index)
    {
        printf_s("%s ", words[index - 1]);
    }

    printf_s("\npress any key to continue...");
    _getch();
    return EXIT_SUCCESS;
}


授人以渔,不授人以鱼。
2014-02-03 03:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
截图.zip (21.09 KB)


參看截圖:先用記事本建立一個文本文件,把你要輸入的文本寫進去,然後在命令行執行圖中所示格式的命令,就可以代替你手工敲打鍵盤。當需要輸入的文本量較大時,就可以采取這種做法,免去用戶因個別錯誤而要推倒重新輸入大量重複文本的麻煩——這纔是C語言scanf()函數的真正用途,用於與機器交互的地方,而不是用於與人交互的地方。

這種方法,叫“重定向”,輸入可以重定向,輸出(printf())也可以重定向(到文本文件)。留意一下,程序并沒有文件讀寫代碼,但仍然可以讀寫文件,就用這種辦法。這是針對壇上太多人用scanf()讀取大量數據、又不厭其煩地敲鍵盤的情況,特意補充這一帖的。比如在需要輸入20個數據的時候,敲到第10個錯了,程序又沒有回退功能,祇能重新從第一個開始敲起,那是要命的,我不知道寫那種代碼的人是否有真正用過自己的程序,豈有沒遇到這種情況之理,不會想辦法解決的麽。當程序員的素質,首先要夠懶,不是靠勤快的!對我來説,不要說20個數據重新輸入,就是5、6個數據要重新輸入,都無法忍受,須知用戶也大多是這樣,這其實是看你有沒有替用戶著想的品格,不替用戶著想的程序員,絕不是好程序員,趁早轉行。

[ 本帖最后由 TonyDeng 于 2014-2-3 03:41 编辑 ]

授人以渔,不授人以鱼。
2014-02-03 03:20
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:0 
thanks,问题已解决。虽然你写的代码我还看不懂,不过还是非常感谢啊。
这道题我又转牛角尖了,感觉那个方法行不通就没往那方面想,想半天实在想不出来
就问同学要代码了,没想到就是我刚开始想的那个思路,只不过我一开始我就觉得那个思路是错的没往下想。
上面那个方法,确实方便啊。多谢大哥提醒
有空我在琢磨琢磨,给分贴已开

[ 本帖最后由 w851777025 于 2014-2-3 08:27 编辑 ]
2014-02-03 08:11
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
以下是引用TonyDeng在2014-2-3 03:20:04的发言:



參看截圖:先用記事本建立一個文本文件,把你要輸入的文本寫進去,然後在命令行執行圖中所示格式的命令,就可以代替你手工敲打鍵盤。當需要輸入的文本量較大時,就可以采取這種做法,免去用戶因個別錯誤而要推倒重新輸入大量重複文本的麻煩——這纔是C語言scanf()函數的真正用途,用於與機器交互的地方,而不是用於與人交互的地方。

這種方法,叫“重定向”,輸入可以重定向,輸出(printf())也可以重定向(到文本文件)。留意一下,程序并沒有文件讀寫代碼,但仍然可以讀寫文件,就用這種辦法。這是針對壇上太多人用scanf()讀取大量數據、又不厭其煩地敲鍵盤的情況,特意補充這一帖的。比如在需要輸入20個數據的時候,敲到第10個錯了,程序又沒有回退功能,祇能重新從第一個開始敲起,那是要命的,我不知道寫那種代碼的人是否有真正用過自己的程序,豈有沒遇到這種情況之理,不會想辦法解決的麽。當程序員的素質,首先要夠懶,不是靠勤快的!對我來説,不要說20個數據重新輸入,就是5、6個數據要重新輸入,都無法忍受,須知用戶也大多是這樣,這其實是看你有沒有替用戶著想的品格,不替用戶著想的程序員,絕不是好程序員,趁早轉行。
想学,但搞不定什么意思
2014-02-03 10:00
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:0 
回复 6楼 TonyDeng
大哥,补分帖给你开了,怎么不来啊。
2014-02-03 18:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你散了吧,分數於我如浮雲。

授人以渔,不授人以鱼。
2014-02-03 19:15
快速回复:一个字符串的问题
数据加载中...
 
   



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

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