fork download
  1. /* kadai041 */
  2. /* 配列の基本形(入力された数列を、最初に奇数番目を入力された順に表示し、
  3. 次に偶数番目を入力と逆順に表示. */
  4. /* 2023.10.9 H.Soeda */
  5. #include <stdio.h>
  6. #define DATAMAX 20
  7. int main(void) {
  8. int n = 0; /* 入力されたデータの数 */
  9. int number; /* 入力されたデータ */
  10. int data[DATAMAX]; /* 入力されたデータを格納する配列 */
  11. int i;
  12. /* n 個のデータを入力してもらい、data[]に格納 */
  13. printf("好きな正の整数をいくつか入力してください。\n");
  14. printf("終了するときはゼロを入力してください\n");
  15. scanf("%d", &number);
  16. while (number != 0) {
  17. data[n++] = number;
  18. if (n == DATAMAX) {
  19. printf("データ数の上限%d を越えました。\n", DATAMAX);
  20. break;
  21. }
  22. scanf("%d", &number);
  23. }
  24. /* 奇数番目を入力された順に表示 */
  25. for (i = 0; i < n; i += 2) {
  26. printf("%d ", data[i]);
  27. }
  28. /* 偶数番目を入力されたデータの逆順に表示 */
  29. if ((n - 1) % 2 == 0) {
  30. i = n - 2;
  31. } else {
  32. i = n - 1;
  33. }
  34. for (; i > 0; i -= 2) {
  35. printf("%d ", data[i]);
  36. }
  37. printf("\n終了します。\n");
  38. return 0;
  39. }
Success #stdin #stdout 0s 5408KB
stdin
1 3 4 6 0
stdout
好きな正の整数をいくつか入力してください。
終了するときはゼロを入力してください
1 4 6 3 
終了します。