廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3373 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
jay77912
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] C++的問題
請從檔案a.txt 中讀入一個字串 (由"a"~"z"組成,但包含大小寫的字元), ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:臺灣中華電信 | Posted:2008-04-27 19:49 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是以暴力的方式完成您的需求

1.建立a~z的字元陣列
  也就是建立 Arr[] = { 'a', 'b', ... , 'z','A', 'B', ... , 'Z'}; 的陣列

2.取得輸入的字串
  這邊可以用cin或是scanf都可以,用cin的話記得要引用<iostream>

3.將取得的字串逐一比對前面的字元陣列
  Ex:輸入是"lsma",就從'l'開始比對Arr[]的內容,有符合的話就記錄在字元陣列的位置

4.全部的字元都比對完之後,輸出Arr[]並且把被記錄的字元陣列選擇不輸出
EX:取得的字元陣列位置為11,12,17,0,當Arr[ i ], i=11的時候不輸出。這樣就可以達到您的需求了

5.或是把3跟4做合併的動作,也就是顯示的時候就邊比對,比對有符合的就不顯示。

還有一種比較快的就是用ASCII碼的方式做比對從65~90(A~Z),141~172(a~z),只要將您輸入的字元轉換成ASCII碼,然後顯示的時候一樣如果遇到輸入的字元的ASCII碼的時候,就不顯示。

表情


恩...
獻花 x0 回到頂端 [1 樓] From:臺灣中華電信HINET | Posted:2008-04-29 08:40 |
daviddr
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

參考..
複製程式
void main()
{
    char t[128], s[256], *p, c; 
    for (int i=128; i--; t[i] = 0);

    ifstream f ("a.txt");

    while (f.getline (s, 256, '\n')) 
        for (p=s; *p; p++) 
            if (!t[*p]) t[*p]=1;    

    for (c='a' c<='z'c++) 
        if (!t[c] && !t[c-('a'-'A')]) 
            cout << c; 

    f.close();
}


[ 此文章被daviddr在2008-07-06 03:42重新編輯 ]


獻花 x0 回到頂端 [2 樓] From:臺灣中華 | Posted:2008-07-06 03:29 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.072986 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言