fork(1) download
  1. #include <stdio.h>
  2.  
  3. // n個のXを出力する
  4. void writeX(int n) {
  5. int i;
  6. for(i = 0; i < n; i++) {
  7. printf("X");
  8. }
  9. printf("\n");
  10. }
  11.  
  12. // 1からkまでXを出力し、そのあと逆順にXを出力する
  13. void triangle(int k) {
  14. int i;
  15. for(i = 1; i <= k; i++) {
  16. writeX(i);
  17. }
  18. for(i = k - 1; i >= 1; i--) {
  19. writeX(i);
  20. }
  21. }
  22.  
  23. // figure(n)は、1からnまでの段数を順にtriangleで出力
  24. void figure(int n) {
  25. if(n == 0) {
  26. return;
  27. } else {
  28. figure(n - 1);
  29. triangle(n);
  30. }
  31. }
  32.  
  33. int main(void) {
  34. int n;
  35. printf("数を入力してください: ");
  36. if(scanf("%d", &n) != 1) {
  37. printf("入力エラー\n");
  38. return 1;
  39. }
  40. figure(n);
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0.01s 5320KB
stdin
4
stdout
数を入力してください: X
X
XX
X
X
XX
XXX
XX
X
X
XX
XXX
XXXX
XXX
XX
X