はじめての C

構造体を使って 前期、後期のテストの平均を求めるプログラムを作成せよ。

  1. /* siken */
  2. #include
  3. struct record { /* 構造体の宣言 */
  4. int num;
  5. int prev;
  6. int later;
  7. int full;
  8. } s; /* 構造体の変数 */
  9. main()
  10. {
  11. struct record s;
  12. s.num = 100;
  13. s.prev = 59;
  14. s.later = 74;
  15. s.full = (s.prev + s.later) / 2.0;
  16. printf("学生番号[%d] : 通年成績 %d 点\n", s.num, s.full);
  17. }

座標系上の点を格納する構造体を宣言し 初期化して 点 p1 に (3, 5) を代入、さらに点 p2 に再代入するプログラムを作成せよ。

  1. /* init */
  2. #include
  3. struct point {
  4. float x;
  5. float y;
  6. };
  7. struct point init(void) { /*変数を初期化する関数 */
  8. struct point p;
  9. p.x = 0.0;
  10. p.y = 0.0;
  11. return p;
  12. }
  13. main()
  14. {
  15. struct point p1, p2; /* p1, p2 は変数 */
  16. p1 = init();
  17. p2 = init();
  18. p1.x = 3.0, p1.y = 5.0;
  19. p2 = p1;
  20. printf("p2 = (%f, %f)\n", p2.x, p2.y);
  21. }

名前、入学年度、番号、学科、組を格納する構造体を宣言、初期化して ディスプレイに表示するプログラムを作成せよ。

  1. /* gakusei */
  2. #include
  3. struct student {
  4. char name[30];
  5. int year;
  6. int num;
  7. char cource[30];
  8. int class;
  9. };
  10. struct student s = { "elizabeth", 2004, 1, "c_lang", 1 }; /* 初期化 */
  11. main()
  12. {
  13. printf("name : %s\n", s.name);
  14. printf("entrance year : %d\n", s.year);
  15. printf("number : %d\n", s.num);
  16. printf("cource : %s\n", s.cource);
  17. printf("class : %d\n", s.class);
  18. }

上のプログラムを キーボードから入力できるように改造せよ。関数を使用すること。

  1. /* gakusei.2 */
  2. #include
  3. struct student {
  4. char name[30];
  5. int year;
  6. int num;
  7. char cource[30];
  8. int class;
  9. }
  10. struct student s;
  11. struct student func1(void); /* 関数の宣言 */
  12. main()
  13. {
  14. func1();
  15. printf("\n");
  16. printf("あなたの名前 : %s\n", s.name);
  17. printf("入学年度 : %d\n", s.year);
  18. printf("学生番号 : %d\n", s.num);
  19. printf("専攻科目 : %s\n", s.cource);
  20. printf("所属クラス : %d\n", s.class);
  21. }
  22. struct student func1(void) { /* 関数 */
  23. printf("Input your name : ");
  24. scanf("%s", s.name);
  25. printf("Input entrance year : ");
  26. scanf("%d", &s.year);
  27. printf("Input your number : ");
  28. scanf("%d", &s.year);
  29. printf("Input your cource : ");
  30. scanf("%s", s.cource);
  31. printf("Input your class : ");
  32. scanf("%d", &s.class);
  33. }

text: 金山典世さん(稚内北星)のページ