史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   有人可以幫我解題(C++)嗎~謝謝 (http://forum.slime.com.tw/thread154220.html)

kcfs983 2005-07-27 10:48 PM

有人可以幫我解題(C++)嗎~謝謝
 
用C++寫出
1:移除一字串的頭跟尾的所有空白
2:將字串中一個以上的連續空白以單一空白來取代
3:把1.2的功能併在一起

PS:可以的話這題也幫幫忙@@
1:輸出一對骰子各種組合出現的次數
2:輸出一對骰子各種組合出現的頻率
3:輸出一對骰子各種總合(2.3.4.....12)的次數
4:輸出一對骰子各種總合(2.3.4.....12)的頻率

麻煩會C++的大大幫忙了~~感恩

snoopy 2005-07-28 05:10 AM

#include <stdio.h>

main()
{
int i,j=0,flag=0;
char string[100],stringCopy[100];
printf("輸入字串");
gets(string);
printf("%s\n",string);

for(i=0;i<100 && string[i]!='\0';i++)
{
if(i!=0)
{
if(string[i]!=' ')
{
if(string[i-1]== ' ' && j!=0)
{
stringCopy[j++] = ' ';
stringCopy[j++] = string[i];
}
else
{
stringCopy[j++] = string[i];
}
}
}
else
{
if(string[i]!=' ')
{
stringCopy[j++] = string[i];
}
}
}
printf("%d\n",j);
stringCopy[j]='\0';
printf("<%s>",stringCopy);
}

/*第二提我看不太董意思*/

kcfs983 2005-07-28 08:56 AM

嗯嗯~~感謝喔~~
第2題的意思是骰子不是有1~6嗎~就是就2顆骰子1~6的各種組合
例如:骰10次~2顆骰子加起來多少~會出現的跟次數

mini 2005-07-28 01:33 PM

第二題就是迴圈內再加迴圈

for(i=1;i<=6;i++) {
for(j=1;j<=6;j++) {

}
}

會出現
[i j]
1 1
1 2
1 3
1 4
1 5
1 6
2 1
2 2
2 3
...
6 6

(這裡不寫出全部)
但可看出
因為
2顆骰子長的都一樣
上面沒編號或記號 來做區別
所以
1 2 = 2 1
因此可以說 1 2 出現了兩次(或說 2 1 出現了兩次,但還是用 1 2 來講會比較好)

所以
Q:各種組合出現的次數
A:要設計一組記錄次數用的 三維陣列
num[i , j , 0]
每運算一次就加一
num[i , j , 0] = num[i , j , 0] + 1

但為了處理 1 2 = 2 1 的情形修改成
如果 num[j , i , 0] >= 1
則是 num[i , j , 0] = num[i , j , 0] + 1

最後對 num[i , j , 0] >= 1 才做處理
(所謂的處理就是您問的第 1、2、3、4 問題)

比如
"各種組合出現的次數"
for(i=1;i<=6;i++) {
for(j=1;j<=6;j++) {
if(num[i , j , 0] >= 1){
printf("%d %d 出現%d次",i,j,num[i , j , 0]);
}
}
}


比較少寫 C 所以沒寫出完整的程式碼
剩下的實現也交給版友自己發揮了
祝你好運~

kcfs983 2005-07-28 01:54 PM

嗯嗯~~謝嚕~~幫了我很大的忙


所有時間均為台北時間。現在的時間是 05:14 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1