PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
銀色三冠王IS
Golden Member
 
銀色三冠王IS的大頭照
 

加入日期: Jan 2001
文章: 2,724
回覆: 會c++的大大幫個忙......

引用:
Originally posted by asdf77885511
做迴圈就好了丫...........跟位數長不長沒有關係............

有關係.. 嚴謹一點的話..
一開始還要判斷輸入的數字,長度多少,才能決定迴圈次數..(用for會有差,用while要判斷商數為0則離開迴圈)
引用:
Originally posted by shukae
嗯..... 我的意思是說, 因為 C 語言有變數型態的定義
我不曉得C語言能定義的整數數值能有多大啦~~~
但不論如何都有位數的極限, 數值處理的位數長度會受限制
所以若以接受數值輸入的方法, 最好採用字串變數
用字串變數與ASCII碼之間的對應關係來做
才不會產生溢位的問題

程式高手..

我只學過簡單的TC和QB..
你是資工或數值應用系的嗎?
     
      
舊 2003-10-24, 01:50 AM #21
回應時引用此文章
銀色三冠王IS離線中  
asdf77885511
New Member
 

加入日期: Jun 2003
文章: 8
回覆: 回覆: 會c++的大大幫個忙......

引用:
Originally posted by 銀色三冠王IS
有關係.. 嚴謹一點的話..
一開始還要判斷輸入的數字,長度多少,才能決定迴圈次數..(用for會有差,用while要判斷商數為0則離開迴圈)

程式高手..

我只學過簡單的TC和QB..
你是資工或數值應用系的嗎?

for(初始化;迴圈執行條件;數字變化)

for( ;商數!=0; )

for的迴圈執行條件可以不止一個,需要多個的話用逗號隔開,依本題來說
不需要初始化,連遞增遞減都不需要........
 
__________________
哇系金a.........
舊 2003-10-24, 02:13 AM #22
回應時引用此文章
asdf77885511離線中  
銀色三冠王IS
Golden Member
 
銀色三冠王IS的大頭照
 

加入日期: Jan 2001
文章: 2,724
回覆: 會c++的大大幫個忙......

引用:
Originally posted by asdf77885511
for(初始化;迴圈執行條件;數字變化)

for( ;商數!=0; )

for的迴圈執行條件可以不止一個,需要多個的話用逗號隔開,依本題來說
不需要初始化,連遞增遞減都不需要........

對吼..

半夜腦袋不清醒..
睡眠不足越來越笨..
舊 2003-10-24, 02:16 AM #23
回應時引用此文章
銀色三冠王IS離線中  
asdf77885511
New Member
 

加入日期: Jun 2003
文章: 8
要知道幾位數的話

for(i=0;商數!=0;i++)

最后迴圈執行完的i值就是幾位數了
__________________
哇系金a.........
舊 2003-10-24, 02:17 AM #24
回應時引用此文章
asdf77885511離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
#include <stdlib.h>
#include <iostream.h>

void main()
{
const int DigitCount = 6;
char input[80];
int result[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

cin >> input;

for(int index = 0; index < DigitCount; index++)
{
switch(input[index])
{
case '0':
result[0]++;
break;
case '1':
result[1]++;
break;
case '2':
result[2]++;
break;
case '3':
result[3]++;
break;
case '4':
result[4]++;
break;
case '5':
result[5]++;
break;
case '6':
result[6]++;
break;
case '7':
result[7]++;
break;
case '8':
result[8]++;
break;
case '9':
result[9]++;
break;
}
}

for(index = 0; index < 10; index++)
{
cout << "char '" << index << "' appears " << result[index] << " times." << endl;
}
}
舊 2003-10-24, 02:21 AM #25
回應時引用此文章
harrisonlin離線中  
asdf77885511
New Member
 

加入日期: Jun 2003
文章: 8
回覆: 回覆: 回覆: 會c++的大大幫個忙......

引用:
Originally posted by asdf77885511
for(初始化;迴圈執行條件;數字變化)

for( ;商數!=0; )

for的迴圈執行條件可以不止一個,需要多個的話用逗號隔開,依本題來說
不需要初始化,連遞增遞減都不需要........

不好意思~~~說錯了不是逗號隔開........
是(條件1) || (條件2)或(條件1) && (條件2)
__________________
哇系金a.........
舊 2003-10-24, 02:30 AM #26
回應時引用此文章
asdf77885511離線中  
shukae
*停權中*
 
shukae的大頭照
 

加入日期: Jun 2002
您的住址: 仙女銀河星系, 跨克星
文章: 1,791
回覆: 回覆: 會c++的大大幫個忙......

引用:
Originally posted by 銀色三冠王IS
有關係.. 嚴謹一點的話..
一開始還要判斷輸入的數字,長度多少,才能決定迴圈次數..(用for會有差,用while要判斷商數為0則離開迴圈)

程式高手..

我只學過簡單的TC和QB..
你是資工或數值應用系的嗎?


我不是資訊相關科系的
只是從國中就覺得很好玩, 學了一大票程式語言
不過就是沒有學C
用了很多程式語言, 其實發現最好用的是 Perl 說
像 $a="0123456789", 其中的 456 要用ABC 來取代
Basic 或 C, java 等都要自己處理, 我都自己弄自定函數
不過 Perl 只要短短一列搞定 $a =~ s/456/abc/gi;
真是太完美了, s/// 的功能很強大
舊 2003-10-24, 11:28 AM #27
回應時引用此文章
shukae離線中  
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
回覆: 回覆: 回覆: 會c++的大大幫個忙......

引用:
Originally posted by shukae
不過 Perl 只要短短一列搞定 $a =~ s/456/abc/gi;


我想這是就是 Perl 被戲稱為 "Write Only Language" 的原因吧...
舊 2003-10-24, 11:35 AM #28
回應時引用此文章
harrisonlin離線中  
性格男人
*停權中*
 

加入日期: Mar 2002
文章: 767
回覆: 會c++的大大幫個忙......

引用:
Originally posted by REXMAX
輸入一個有六位數的正整數,利用Switch計算0~9每一個數字出現之機率

這題是我們的作業......我ㄇ想破頭想不出來...........
可悲的大一新生=.=



不是要我說你
這根本不是c++的問題
是邏輯的問題....................................

0-9 分成 0 1 2 3 ... 9

想辦法把 六位數 拆成 六個數字

用switch 去判斷 六個數字 出現的次數 每出現一次就加一


挨 現在的大學生 真的都這樣嗎....
舊 2003-10-24, 11:36 AM #29
回應時引用此文章
性格男人離線中  
性格男人
*停權中*
 

加入日期: Mar 2002
文章: 767
挨 教他釣魚就好
何必連魚都給他

引用:
Originally posted by harrisonlin
#include <stdlib.h>
#include <iostream.h>

void main()
{
const int DigitCount = 6;
char input[80];
int result[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

cin >> input;

for(int index = 0; index < DigitCount; index++)
{
switch(input[index])
{
case '0':
result[0]++;
break;
case '1':
result[1]++;
break;
case '2':
result[2]++;
break;
case '3':
result[3]++;
break;
case '4':
result[4]++;
break;
case '5':
result[5]++;
break;
case '6':
result[6]++;
break;
case '7':
result[7]++;
break;
case '8':
result[8]++;
break;
case '9':
result[9]++;
break;
}
}

for(index = 0; index < 10; index++)
{
cout << "char '" << index << "' appears " << result[index] << " times." << endl;
}
}
舊 2003-10-24, 11:37 AM #30
回應時引用此文章
性格男人離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:07 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。