0

VB スクリプトで単純なプログラムを作成して、最も高いものを並べ替えました。プログラムには 2 つのバージョンがあります。最初のバージョンは動作していますが、実行時に配列の値を入力する 2 番目のバージョンは動作していません。

誰でもこれを修正するのを手伝ってくれますか。

バージョン#1:

dim arr(5)
arr(0)= 25
arr(1)= 12
arr(2)= 30
arr(3)= 45
arr(4)= 10
arr(5)=  5
dim Buffer
Buffer = 0
dim i

for i=0 to 5
  if arr(i) > Buffer Then Buffer = arr(i)
Next

Msgbox "The Highest is" &Buffer

バージョン 2 (これはデータでは機能しません - (25,12,30,45,10,5) - 最高のものとして 5 と表示されます。

dim arr(5)
dim j
for j=0 to 5
  arr(j)=inputbox("Enter Data")
Next

dim Buffer
Buffer = 0
dim i

for i=0 to 5
  if arr(i) > Buffer Then Buffer = arr(i)
Next

Msgbox "The Highest is" &Buffer
4

1 に答える 1

1

問題: 最初のサンプルで数値を比較している間に、2 番目のサンプルで (InputBox() からの) 文字列を比較します。"5" は (アルファベット順で) "49999999" より大きいです。文字列入力を数値に変換するには、CInt() または CLng() を使用します。

于 2012-12-23T19:24:21.537 に答える