Guest User

Untitled

a guest
Feb 18th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. Ex03.陣列程式
  2.  
  3. 修改程式範例: Ch2-1-2.c 為Ch2-1-2e.c
  4.  
  5. 1.增加成績對調的功能
  6.  
  7. 2.於選單增加”成績對調”選項
  8.  
  9. 3.詢問欲對調成績的學生學號
  10.  
  11. 4.將輸入的學生學號對應的成績執行對調
  12.  
  13. 對調方式:
  14. temp=scores[std1];
  15. scores[std1]=scores[std2];
  16. scores[std2]=temp;
  17.  
  18.  
  19.  
  20. /* 程式範例: Ch2-1-2.c */
  21. #include <stdio.h>
  22. //#include <stdlib.h>
  23. /* 主程式 */
  24. int main() {
  25. /* 學生成績陣列 */
  26. int scores[10] = {76,85,90,67,59,79,82,95,91,65};
  27. int num; /* 學號 */
  28. int grade; /* 成績 */
  29. int i, choice; /* 選項 */
  30. int num1,temp; /* 對調 */
  31. int doit = 1;
  32. /* 執行操作的主迴圈 */
  33. while ( doit ) {
  34. printf("----選單----\n");
  35. printf("1: 查詢成績\n");
  36. printf("2: 修改成績\n");
  37. printf("3: 成績對調\n");
  38. printf("4: 顯示成績\n");
  39. printf("5: 離開作業\n");
  40. printf("請輸入選項( 1 到 5 ). ==> ");
  41. scanf("%d", &choice);
  42. if (choice < 4 ) {
  43. printf("請輸入學生學號( 0 到 9). ==> ");
  44. scanf("%d", &num); /* 讀入學號 */
  45. }
  46. switch( choice ) {
  47. case 1: /* 查詢成績 */
  48. grade = scores[num]; /* 取得成績 */
  49. printf("學生成績: %d\n", grade);
  50. break;
  51. case 2: /* 修改成績 */
  52. grade = scores[num];
  53. printf("原來學生成績: %d\n", grade);
  54. printf("輸入新成績. ==> ");/* 讀取新成績 */
  55. scanf("%d", &grade);
  56. scores[num] = grade; /* 更新成績 */
  57. break;
  58. case 3: /* 成績對調 */
  59. printf("欲對調成績學生學號:");
  60. scanf("%d",&num1);
  61. temp=scores[num];
  62. scores[num]=scores[num1];
  63. scores[num1]=temp;
  64. break;
  65. case 4: /* 顯示成績 */
  66. printf("學生成績: \n");
  67. for ( i = 0; i < 10; i++ )
  68. printf("%d:%d ", i, scores[i]);
  69. printf("\n");
  70. break;
  71. case 5: /* 結束作業 */
  72. doit = 0;
  73. break;
  74. }
  75. }
  76. system("PAUSE");
  77. return 0;
  78. }
Add Comment
Please, Sign In to add comment