yaottiの日記

 | 

2008-04-19

ループの回数だけアスタリスクを表示

15:55

たまにはこっちにも。

ループの回数だけアスタリスクを表示 - 仮想化済み古代魚 - ハチロク世代

36日目 K&RのExerciseをやってみた - id:wakutekaのプログラミングメモを見てやってみた。


C
#include <stdio.h>
#include <stdlib.h>

main(int argc, char *argv[])
{
  int ast, num;
  int max = atoi(argv[1]);

  for (num = 0; num < max; ++num) {
    printf("%d\t", num);
    for (ast = 0; ast < num; ++ast) {
      printf("*");
    }
    printf("\n");
  }  
}

Scheme(Gauche)
(use text.tree)
(define (stairs n)
  (define (func now)
    (if (< now n)
	(let1 stars (tree->string (make-list now '*))
	  (begin (print now "\t" stars)
		 (func (+ now 1))))))
  (begin (print "")
	 (func 0)))


最後のbeginごにょごにょはgosh>の表示でずれるので改行を入れただけ。

Cのatoiというのをおぼえた。

hayamizhayamiz2008/04/20 02:03(use srfi-1)
(define (yet-another-stairs n)
(for-each (lambda (m)
(print m #\tab (make-string m #\*)))
(iota n)))

iotaは覚えておくと便利。あと改行するだけなら(newline)でおk

yaottiyaotti2008/04/20 15:59for-eachか…for-eachとmapがまだうまく使いこなせない。
iotaを使うという発想はなかった…!!

 |