はじめての C
構造体を使って 前期、後期のテストの平均を求めるプログラムを作成せよ。
- /* siken */
- #include
- struct record { /* 構造体の宣言 */
- int num;
- int prev;
- int later;
- int full;
- } s; /* 構造体の変数 */
- main()
- {
- struct record s;
- s.num = 100;
- s.prev = 59;
- s.later = 74;
- s.full = (s.prev + s.later) / 2.0;
- printf("学生番号[%d] : 通年成績 %d 点\n", s.num, s.full);
- }
座標系上の点を格納する構造体を宣言し 初期化して 点 p1 に (3, 5) を代入、さらに点 p2 に再代入するプログラムを作成せよ。
- /* init */
- #include
- struct point {
- float x;
- float y;
- };
- struct point init(void) { /*変数を初期化する関数 */
- struct point p;
- p.x = 0.0;
- p.y = 0.0;
- return p;
- }
- main()
- {
- struct point p1, p2; /* p1, p2 は変数 */
- p1 = init();
- p2 = init();
- p1.x = 3.0, p1.y = 5.0;
- p2 = p1;
- printf("p2 = (%f, %f)\n", p2.x, p2.y);
- }
名前、入学年度、番号、学科、組を格納する構造体を宣言、初期化して ディスプレイに表示するプログラムを作成せよ。
- /* gakusei */
- #include
- struct student {
- char name[30];
- int year;
- int num;
- char cource[30];
- int class;
- };
- struct student s = { "elizabeth", 2004, 1, "c_lang", 1 }; /* 初期化 */
- main()
- {
- printf("name : %s\n", s.name);
- printf("entrance year : %d\n", s.year);
- printf("number : %d\n", s.num);
- printf("cource : %s\n", s.cource);
- printf("class : %d\n", s.class);
- }
上のプログラムを キーボードから入力できるように改造せよ。関数を使用すること。
- /* gakusei.2 */
- #include
- struct student {
- char name[30];
- int year;
- int num;
- char cource[30];
- int class;
- }
- struct student s;
- struct student func1(void); /* 関数の宣言 */
- main()
- {
- func1();
- printf("\n");
- printf("あなたの名前 : %s\n", s.name);
- printf("入学年度 : %d\n", s.year);
- printf("学生番号 : %d\n", s.num);
- printf("専攻科目 : %s\n", s.cource);
- printf("所属クラス : %d\n", s.class);
- }
- struct student func1(void) { /* 関数 */
- printf("Input your name : ");
- scanf("%s", s.name);
- printf("Input entrance year : ");
- scanf("%d", &s.year);
- printf("Input your number : ");
- scanf("%d", &s.year);
- printf("Input your cource : ");
- scanf("%s", s.cource);
- printf("Input your class : ");
- scanf("%d", &s.class);
- }
text: 金山典世さん(稚内北星)のページ