Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
case switch判斷式解題
1. 輸入6個正整數(數字1-9,數與數之間用空格隔開),請找出重複出現最多次的整數及其重複的次數。[提示] 請使用case switch判斷式題目輸入:6個正整數(ex: 1 3 9 3 8 6)題目輸出:重複出現最多次的整數及其重複的次數(ex: [3,2])
若數與數之間用空格隔開 沒辦法那就用\n
3 個解答
- 10 年前最佳解答
除非是用讀一整行的如getline,會把空格也讀進去,其他就把連續空格當成按一次enter
//以下程式碼沒有編譯過,直接在網頁回答區寫出,有名稱錯誤請自行修正
//出現雙重最多數字的只會顯示第一個數字
#include int num;//輸入的數字
int c[9]={0}; //數字1-9的次數,初始化為0
int num_max;
int i;
for(i=0;i<6;i++)//讀取數字的次數為迴圈次數
{
scanf(%d,num);
switch (num)
{
case 1: c[0]++; break;
case 2: c[1]++; break;
case 3: c[2]++; break;
case 4: c[3]++; break;
case 5: c[4]++; break;
case 6: c[5]++; break;
case 7 :c[6]++; break;
case 8: c[7]++; break;
case 9: c[8]++; break;
}
}
num_max=1;
//再來就是比較c[9]陣列大小
for(i=1;i<10;i++)
{
if(c[num_max-1]
num_max=i+1;
}
printf("最多數字:%d 及重複次數為%d ",num_max,c[num_max-1]);
- EdisonXLv 610 年前
case - switch 這題應不適合用。
原 po 的疑惑: keyword : strchr、strtok。
2011-08-03 15:22:22 補充:
補一下,回答001 程式碼應有個算明顯的錯誤。