演習課題「西暦年と昭和年の対応表をつくろう」
西暦年と昭和年の対応表を作成してください。
対応表は、「西暦XXXX年 昭和YY年」(昭和年は2桁表示、1桁のときは空白で埋める)と表示します。
※ 昭和年は、西暦1926年から西暦1988年までの期間で、「西暦年 - 1925」で求めることができます。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
西暦1926年 昭和 1年
西暦1927年 昭和 2年
西暦1928年 昭和 3年
西暦1929年 昭和 4年
西暦1930年 昭和 5年
西暦1931年 昭和 6年
西暦1932年 昭和 7年
西暦1933年 昭和 8年
西暦1934年 昭和 9年
西暦1935年 昭和10年
西暦1936年 昭和11年
西暦1937年 昭和12年
西暦1938年 昭和13年
西暦1939年 昭和14年
西暦1940年 昭和15年
西暦1941年 昭和16年
西暦1942年 昭和17年
西暦1943年 昭和18年
西暦1944年 昭和19年
西暦1945年 昭和20年
西暦1946年 昭和21年
西暦1947年 昭和22年
西暦1948年 昭和23年
西暦1949年 昭和24年
西暦1950年 昭和25年
西暦1951年 昭和26年
西暦1952年 昭和27年
西暦1953年 昭和28年
西暦1954年 昭和29年
西暦1955年 昭和30年
西暦1956年 昭和31年
西暦1957年 昭和32年
西暦1958年 昭和33年
西暦1959年 昭和34年
西暦1960年 昭和35年
西暦1961年 昭和36年
西暦1962年 昭和37年
西暦1963年 昭和38年
西暦1964年 昭和39年
西暦1965年 昭和40年
西暦1966年 昭和41年
西暦1967年 昭和42年
西暦1968年 昭和43年
西暦1969年 昭和44年
西暦1970年 昭和45年
西暦1971年 昭和46年
西暦1972年 昭和47年
西暦1973年 昭和48年
西暦1974年 昭和49年
西暦1975年 昭和50年
西暦1976年 昭和51年
西暦1977年 昭和52年
西暦1978年 昭和53年
西暦1979年 昭和54年
西暦1980年 昭和55年
西暦1981年 昭和56年
西暦1982年 昭和57年
西暦1983年 昭和58年
西暦1984年 昭和59年
西暦1985年 昭和60年
西暦1986年 昭和61年
西暦1987年 昭和62年
西暦1988年 昭和63年
演習課題「特定期間の西暦年と令和年の対応表をつくろう」
標準入力から、1行目に西暦年、2行目に期間が与えられます。
この西暦年から始まる、期間分の「西暦年と令和の対応表」を出力するプログラムを作成してください。
対応表の各行は、「西暦XXXX年 令和YY年」(令和年は2桁表示、1桁の場合は空白で埋める)と表示します。
※令和年は、西暦2019年からで、「西暦年 - 2018」で求めることができます。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
西暦2019年 令和 1年
西暦2020年 令和 2年
西暦2021年 令和 3年
#08:西暦年と平成年の対応表をつくろう
ループ処理の具体例として、西暦年と平成年の対応表を表示するプログラムを作成します。
今回は、ひとつの年だけではなく、1989年から2019年まですべての年を出力します。
// forによるループ処理
#include <stdio.h>
int main(void)
{
for (カウンタ変数の初期化; 条件式; カウンタ変数の更新) {
// 繰り返す処理
}
}
西暦年から平成年を求めるには、西暦年から「1988」を引きます。(平成年) = (西暦年) - 1988
・出力する桁数の指定
printfで数値を出力するときに、出力する桁数を指定することができます。printf("%4d", 123);
とすると、123を4桁で表示します。 123
(123の前に空白(スペース)が入っています)
・0フラグ
%のあとに0を指定すると、桁をそろえるときに0をつめて表示します。printf("%04d", 123);
とすると、123を4桁で、0でつめて表示します。0123
このチャプターで作成したコードです。// 西暦年と平成年の対応表をつくる
#include <stdio.h>
int main(void)
{
int seireki;
int heisei;
for (seireki = 1989; seireki <= 2019; seireki++) {
heisei = seireki - 1988;
printf("西暦%d年 平成%2d年\n", seireki, heisei);
}
}