fork(258) download
  1. /*
  2. [1] 授業単元:while, for, do-whileループ
  3. [2] 問題文(含コード&リンク):以下
  4. [3] 環境
  5.  [3.1] OS: (windows上のCygwin)
  6.  [3.2] コンパイラ名とバージョン: (不明)
  7.  [3.3] 言語: (C言語,,,?)
  8. [4] 期限: (2015年1月17日)
  9. [5] その他の制限: (例題に沿った形で解答していただきたいです,,,)
  10.  
  11. 問題文及び例題は以下から
  12.  
  13.  
  14.  
  15.  
  16. 問い
  17. 整数であるnをキーボードから入力しnから1までの整数を対角に表示させなさい
  18. 実行例
  19.  
  20. Let us print n through 1 diagonally.
  21. Enter n: 5
  22. 5
  23. -4
  24. --3
  25. ---2
  26. ----1
  27.  
  28. 例題
  29. 整数であるnをキーボードからあたえ1からnまでの整数を対角的に表示させなさい
  30. */
  31. #if 0
  32. #include <stdio.h>
  33.  
  34. main()
  35. {
  36. int i, j, n;
  37.  
  38. printf("Let us print 1 through n diagonally.\n");
  39. printf("Enter n: ");
  40. scanf("%d", &n);
  41.  
  42.  
  43. for (i = 1; i <= n; i++) /* i-方向(下方、「行」方向)に進む */
  44. {
  45. for (j = 1; j <= i; j++) /* j-方向(右、「列」方向)に進む */
  46. {
  47. if (j == i) /* 対角線上にあるとき */
  48. {
  49. printf("%d", j); /* j = iを表示 */
  50. }
  51. else /* 非対角なとき */
  52. {
  53. printf("-"); /* 「-」を表示 */
  54. }
  55. }
  56. printf("\n"); /* つぎの行に移る */
  57. }
  58. }
  59. #endif
  60.  
  61. #include <stdio.h>
  62.  
  63. main()
  64. {
  65. int i, j, n;
  66.  
  67. printf("Let us print n through 1 diagonally.\n");
  68. printf("Enter n: ");
  69. scanf("%d", &n);
  70.  
  71.  
  72. for (i = 1; i <= n; i++) /* i-方向(下方、「行」方向)に進む */
  73. {
  74. for (j = 1; j <= i; j++) /* j-方向(右、「列」方向)に進む */
  75. {
  76. if (j == i) /* 対角線上にあるとき */
  77. {
  78. printf("%d", n-j+1); /* j = iを表示 */
  79. }
  80. else /* 非対角なとき */
  81. {
  82. printf("-"); /* 「-」を表示 */
  83. }
  84. }
  85. printf("\n"); /* つぎの行に移る */
  86. }
  87. }
Success #stdin #stdout 0s 2296KB
stdin
5
stdout
Let us print 1 through n diagonally.
Enter n: 5
-4
--3
---2
----1