|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2005-07-27, 10:48 PM | #1 |
註冊會員
|
有人可以幫我解題(C++)嗎~謝謝
用C++寫出
1:移除一字串的頭跟尾的所有空白 2:將字串中一個以上的連續空白以單一空白來取代 3:把1.2的功能併在一起 PS:可以的話這題也幫幫忙@@ 1:輸出一對骰子各種組合出現的次數 2:輸出一對骰子各種組合出現的頻率 3:輸出一對骰子各種總合(2.3.4.....12)的次數 4:輸出一對骰子各種總合(2.3.4.....12)的頻率 麻煩會C++的大大幫忙了~~感恩 |
送花文章: 0,
|
2005-07-28, 05:10 AM | #2 (permalink) |
註冊會員
|
#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); } /*第二提我看不太董意思*/ |
送花文章: 623,
|
2005-07-28, 01:33 PM | #4 (permalink) |
管理版主
|
第二題就是迴圈內再加迴圈
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 所以沒寫出完整的程式碼 剩下的實現也交給版友自己發揮了 祝你好運~ |
送花文章: 2013,
|