0
A
回答
1
對於數量非常有限的項目,簡單的「交換排序」將會很好。使用帶有OCCURS的表格,將數據放入表格中,然後繼續傳遞表格,交換相鄰的項目,直到表格過去不再有更改。
對於三個數字,您可能想要考慮類似這樣的事情,這實際上並不是一種排序,但會給你你想要的順序。
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9.
01 NUM2 PIC 9.
01 NUM3 PIC 9.
01 SNUM1 PIC 9.
01 SNUM2 PIC 9.
01 SNUM3 PIC 9.
PROCEDURE DIVISION.
ACCEPT NUM1
ACCEPT NUM2
ACCEPT NUM3
COMPUTE SNUM1 = FUNCTION
MIN
(
NUM1
NUM2
NUM3
)
COMPUTE SNUM2 = FUNCTION
MEDIAN
(
NUM1
NUM2
NUM3
)
COMPUTE SNUM3 = FUNCTION
MAX
(
NUM1
NUM2
NUM3
)
DISPLAY
">"
SNUM1
"<"
DISPLAY
">"
SNUM2
"<"
DISPLAY
">"
SNUM3
"<"
GOBACK
.
有了這個在SYSIN(或無論你來自ACCEPT):
4
2
3
它會產生:
>2<
>3<
>4<
個人而言,我會去這樣的事情:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9.
01 NUM2 PIC 9.
01 NUM3 PIC 9.
01 SNUM1 PIC 9.
01 SNUM2 PIC 9.
01 SNUM3 PIC 9.
PROCEDURE DIVISION.
ACCEPT NUM1
ACCEPT NUM2
ACCEPT NUM3
IF (NUM2
LESS THAN NUM1)
MOVE NUM2 TO SNUM1
MOVE NUM1 TO SNUM2
ELSE
MOVE NUM2 TO SNUM1
MOVE NUM1 TO SNUM2
END-IF
EVALUATE TRUE
WHEN NUM3
LESS THAN SNUM1
MOVE SNUM2 TO SNUM3
MOVE SNUM1 TO SNUM2
MOVE NUM3 TO SNUM1
WHEN NUM3
LESS THAN SNUM2
MOVE SNUM2 TO SNUM3
MOVE NUM3 TO SNUM2
WHEN OTHER
MOVE NUM3 TO SNUM3
END-EVALUATE
DISPLAY
">"
SNUM1
"<"
DISPLAY
">"
SNUM2
"<"
DISPLAY
">"
SNUM3
"<"
GOBACK
.
決定冷杉的順序兩個數字,然後找出第三個應該去的地方。這實際上是一種組合的交換/插入排序:-)
當然,結果與上面相同。
COBOL確實有一個SORT動詞,如果這是你應該使用的,但它對三個項目是「過度殺傷」。
相關問題
- 1. DirectoryInfo.EnumerateDirectories是否對項目進行排序?
- 2. 項目進行排序算
- 3. MYSQL對組中的項目進行排序然後對它們進行排序
- 4. 從plist按字母順序對項目進行排序
- 5. 如何對列表框中的項目進行升序排序
- 6. 項目進行排序,價格等級
- 7. 如何對DropDownButton項進行排序?
- 8. 在Python中對變量進行排序?
- 9. 如何根據ElasticSearch中的項目數量對搜索結果進行排序?
- 10. 在列表視圖中對分組項目進行排序
- 11. python隨機地對相同值的項目進行排序
- 12. 對同一表中的項目進行排序
- 13. 如何在ToolStripItemCollection中對項目進行排序?
- 14. 如何在Visual Studio 2008中對項目進行排序?
- 15. 在Python 2.3中按項目頻率對列表進行排序
- 16. 如何對Java中ArrayList中的某些項目進行排序?
- 17. C++按屬性對項目進行排序
- 18. 如何在MFC中CListCtrl中對項目進行排序?
- 19. 如何使用Qt.UserRole對Qt QListview中的項目進行排序
- 20. 如何在列表框中對項目進行排序
- 21. 如何使用ListView中的類對項目進行排序?
- 22. 如何對節點orm中的項目進行排序find
- 23. Wicket - 在調色板中對項目進行排序
- 24. JavaScript按月對項目列表進行排序
- 25. 在圖庫中對花式框項目進行重新排序
- 26. 如何在setAdapter之前對BaseAdapter中的項目進行排序?
- 27. 如何在推入新項目時對字典進行排序?
- 28. 如何對數組中的項目進行排序
- 29. 如何在ObjectListView中對項目進行排序?
- 30. 按特定屬性對項目進行排序knockout.js
如果您顯示代碼並描述您遇到的問題,我們可能會提供很多幫助。 (另外,是否有你用ibm-midrange和cobol85標記的原因?他們似乎沒有連接好。) – user2338816
我沒有代碼,我正在計劃這個想法。 這很簡單(我猜)有人介紹3個數字(如3 7和4)和程序按升序排序(結果:3 4 7) 問題是我該如何做到這一點,讓COBOL得到了函數那還是什麼? –