関連項目: printf, scanf, 変数の型, 演算子
a1) 標準出力(画面)に,自分の好きなことわざを2行に分けて表示するプログラムを作成しなさい。
★a2) 単価がx円の鉛筆をy本買いました。z円札を出したときのお釣りを表示するプログラムを作成しなさい。x, y, zの値はキーボードから入力すること。
【ポイント】 変数名や関数名(「識別子」という)は,1文字とは限らない。1文字目には英文字,2文字目以降には英数字が使える。
pi, kingaku, y2003, ...
関連項目: if, else
a3) キーボードから整数をひとつ読み込んで,それが偶数か奇数かを判定し出力するプログラムを作成しなさい。
★a4) キーボードから整数を読み込み,それが3の倍数だった場合には「3」,それ以外で偶数だった場合には「2」,どちらにもあてはまらない場合には「X」,と表示するプログラムを作成しなさい。
【ポイント】 elseの後には,ifを続けて書ける。
if (...) { ... } else if (...) { ... } else if (...) { ... } else { ... }
★a5) 整数a, b, cを読み込み,それらを3辺の長さとする三角形が,直角三角形であるか,二等辺三角形であるか,正三角形であるか判定するプログラムを作成しなさい。
【ポイント】 3つの値を比較する条件式は,
if (a < b < c) { … /* 誤り!! */ if (a == b == c) { … /* 誤り!! */のようには続けて書けない。かわりに,
if (a < b && b < c) { … if (a == b && b == c) { …のように,論理AND演算子&&(〜かつ〜)を利用する。
ax1) ある金額を硬貨で支払う際に,枚数がもっとも少なくなる支払い方(つまり,“普通の”支払い方)を求めるプログラムを作成しなさい。支払い金額はキーボードから読み込むこと。
ax2) a=5, b=3とするとき,下記の4つの場合についてa*bとa/bの演算結果を表示させなさい。double型の変数xを用意して,x=a*bなどとして演算結果をxに代入してからxの値を表示させるとよい。
変数aの型 | 変数bの型 | プログラム名 | |
場合a | int型 | int型 | ax2a.c |
場合b | double型 | double型 | ax2b.c |
場合c | int型 | double型 | ax2c.c |
場合d | double型 | int型 | ax2d.c |
ax3) 2つのdouble型の変数を読み込んで,前者の値が後者の値の何%であるか表示するプログラムを作成しなさい。ただし,後者が0だった場合には「Cannot devide by zero」と表示して計算を行わない。
【ポイント】 変数に値を入れる代入(=)と,等しいことを判定する等号(==)は異なる。C言語の基本中の基本だが,慣れてきてもうっかり間違えやすいところ。
a = 10; if (a == 10) { …
ax4) キーボードから4つの整数を読み込み,先頭の数よりも大きい数の個数を表示するプログラムを作成しなさい。(配列や繰り返しは使わなくてよい)
ax5) キーボードから整数を1つ読み込み,それが3の倍数または5の倍数だった場合には「A」,それ以外でそれがさらに4の倍数だった場合にはさらに「4」,どちらにもあてはまらない場合には「X」とだけ,と表示するプログラムを作成しなさい。
この課題は,繰り返し(ループ)の知識が必要である。
az1) ロールプレイングゲーム(RPG)における,主人公とモンスターの戦闘システムをプログラムしてみなさい。以下に示すのは簡単な例である。
#include <stdio.h> #include <stdlib.h> /* rand()とsrand()に必要 */ #include <time.h> /* time()に必要 */ int main(void) { int i; int sai1, sai2; /* rand()を使うプログラムで最初にやるおまじない */ srand((unsigned) time(NULL)); for (i = 0; i < 10; i++) { /* 1〜6の乱数を2つ発生 */ sai1 = rand() % 6 + 1; sai2 = rand() % 6 + 1; printf("%d+%d=%d\n", sai1, sai2, sai1 + sai2); getchar(); } return 0; }
上記は非常に簡単な例である。モンスターに名前をつけたり,防御力を入れてみたり,魔法を入れてみたり,武器の種類を入れてみたり,グラフィックをつけてみたり,いくらでも工夫は自由である。