はじめての C

ランダムな整数の並んだファイルをつくるプログラムを作成せよ。

  1. /* random */
  2. #include
  3. #include
  4. #define MAX 20 /* ←変更可能に */
  5. struct List {
  6. int data;
  7. struct List *next;
  8. };
  9. main()
  10. {
  11. FILE *fp;
  12. int i;
  13. struct List *prev, *curr;
  14. prev = NULL;
  15. fp = fopen("random_list", "w");
  16. if (fp != NULL) {
  17. for (i = 0; i < MAX; i++) {
  18. curr = (struct List *)malloc(sizeof(struct List));
  19. fprintf(fp, "%d", curr->data = rand() % 100); /* 2桁の整数にした */
  20. fprintf(fp, "\n");
  21. curr->next = NULL;
  22. if (prev != NULL) {
  23. prev->next = curr;
  24. }
  25. prev = curr;
  26. }
  27. fclose(fp);
  28. }
  29. return 0;
  30. }

$less random_list として確認。

(追記) こっそり訂正 → FILE *