先建立一個可以查出有幾個字元的函數int count(char str[],char c),然後從鍵盤輸入字串,查出字元的數量。例如:
請輸入一個字串。
hello
請輸入想從字串中找出的字元。
l
在hello當中全部共有2個1。
程式如下~但是我不知道為什麼要這樣做~請大大們幫小弟解惑~感謝~!
int count(char str[],char ch);
int main()
{
char str[100];
char ch;
cout<<\"請輸入一個字串。\\n\";
cin >>str;
cout<<\"請輸入從字串中想要找到的字元。\\n\";
cin>>ch;
int c=count(str,ch);
cout<<\"在\"<
system(\"PAUSE\");
return 0;
}
int count(char str[],char ch){
int i=0;
int c=0;
while(str[i]){
if(str[i]== ch)
c++;
i++;
}
return c;
}
2006-05-13 20:57:19 · 2 個解答 · 發問者 小鬼 1 in 電腦與網際網路 ➔ 程式設計
能在請問一下大大
int count(char str[],char ch){
int i=0;
int c=0;
while(str[i]){
if(str[i]== ch)
c++;
i++;
}
return c;
}
這裡可以改成用for迴圈做ㄇ
2006-05-14 07:12:21 · update #1
int count(char str[],char ch);
int main()
{
char str[100]; //宣告一個大小為 100 的字元陣列,用來放我們輸入的字串
char ch; //宣告 ch,用來放你想要尋找的字元
cout<<"請輸入一個字串。\n";
cin >>str; //把輸入的字串放進 str 陣列裡,例如:hello
cout<<"請輸入從字串中想要找到的字元。\n";
cin>>ch; // 把要尋找的字元放進 ch 裡面
int c=count(str,ch); //當 c 等於 count 函式的回傳值 (就是符合所尋找字串的字元個數)
cout<<"在"<
system("PAUSE"); //這是讓程式執行完後讓畫面停止的指令
return 0;
}
//以下是 count 函式
int count(char str[],char ch){
int i=0; //用來數字串的
int c=0; //用來計算你要尋找的字元總共有幾個
while(str[i]){
if(str[i]== ch) //當字串裡的某個字等於你要尋找的字元
c++; // c 就加一
i++; // i 也加一,目的是去跳往字串的下一個字元
}
return c; //回傳 c 值,這就是字串裡符合你所要找的字元的個數
}
2006-05-14 01:32:35 補充:
例如現在輸入"hello"str[0] = h, str[1] = e, str[2] = l, str[3] = l, str[4] = o, 我要尋找 "l"這個字所以 ch = l在count函式中i 從 0 開始跑當 str[i] = ch 的時候c 就會加一所以數完字串後c = 2 (字串中有兩個字元符合條件)傳回 c 值在 main 裡把 c 值印出來就是我們要的答案了
2006-05-14 11:49:04 補充:
可以int count(char str[],char ch){ int i=0; int c=0; for(i = 0; str[i] != '\0'; i++){ // i 從 0 開始跑,跑到str 陣列為空集合為止,i 每跑完一個就跳下一個 if(str[i]== ch) c++; i++; } return c; }
2006-05-13 21:28:34 · answer #1 · answered by Jessie 2 · 0⤊ 0⤋
char str[100]是宣告一個長度為100的字串
2006-05-13 21:16:47
·
answer #2
·
answered by 大頭 2
·
0⤊
0⤋
如果輸入hello
則會變成 h e l l o \0 ......
\0代表資串結束符號 後面的...則為沒有用到的空間
下面的while迴圈則是從第0個字"元" 也就是列子中的 h 開始找
i會從0~5 也就是h e l l o \0 去比較
if判斷式會比較str[i]是否會等於ch ,也就是範例中的"l"
如果等於的話 c就會加1 ==>c記錄共有幾個字是和ch 相等的
最後會回傳c值
2006-05-14 01:17:20 補充:
資串-->字串
2006-05-15 00:57:53 補充:
可以改用for迴圈阿for(int i =0; i