Ex02Ans
From Prog0
演習第2回
Contents |
解答例
A問題
A-1 変数名の規則
ファイル名: ex02a1.txt
(o)int aizu; (x)int aizu-wakamatsu; /* 変数名が「-」を含んでいる */ (x)int 00uoa; /* 変数名は数字で始めてはいけない */ (x)int class.1; /*「.」 は使用できない */ (o)int Aizu, aizu; /* 大文字と小文字は区別されるので、これらは別々の変数として扱われる */ (o)int __init__; (x)int if = 0; /* 「if」は予約語のため変数名には使用できない */ (o)int x1, x2=0; (o)int speed2fast; (x)int prog0@uoa; /* 変数名が「@」を含んでいる */
A-2 printf
ファイル名: ex02a2.c
#include <stdio.h>
int main()
{
int num;
printf("整数値を入力してください:");
scanf("%d", &num);
printf("入力された値は %d で、これを4倍した結果は %d です。\n", num, num*4);
return 0;
}
A-3 変数の値
aの値は最終的に22である。 以下に,変数aの変化を示す。 int a = 10; /* a = 10 */ a = a + 1; /* a = 10 + 1 = 11 */ a = a + a; /* a = 11 + 11 = 22 */
ファイル名: ex02a3.c
#include <stdio.h>
int main()
{
int a = 10;
a = a + 1;
a = a + a; /* aの値は( 22 )になるはず */
printf("a=%d\n", a);
return 0;
}
B問題
B-1 平成/西暦変換
ファイル名: ex02b1.c
#include <stdio.h>
int main()
{
int heisei;
printf("年を平成で入力してください [1-31]: ");
scanf("%d", &heisei);
printf("平成 %d 年は西暦 %d 年です。\n", heisei, heisei+1988);
printf("平成 %d 年に生まれた人は今年 %d 才です。\n", heisei, 2026-(heisei+1988));
return 0;
}
B-2 二つの数の四則演算
ファイル名: ex02b2.c
#include <stdio.h>
int main()
{
int a, b;
printf("2つ整数を入力してください: ");
scanf("%d %d", &a, &b);
printf("和 = %d\n", a+b);
printf("差 = %d\n", a-b);
printf("積 = %d\n", a*b);
printf("商 = %d 、余り = %d\n", a/b, a%b);
return 0;
}
B-3 プログラムのデバッグ(上級編)
ファイル名: ex02b3.c
#include <stdio.h>
int main()
{
int a, b, c, res;
printf("Input a, b, and c: ");
scanf("%d%d%d", &a, &b, &c);
printf("\n");
res = a*b;
printf("Compute a * b\n");
printf("%d * %d = %d\n", a, b, res); /* cを削除、resを追加*/
printf("\n");
printf("Compute (2 * a + b) %% c\n");
/* printfで%を表示させたい場合は%%と書く */
res = (2*a+b)%c; /* 計算を行う位置を変更 */
printf("(2 * %d + %d) %% %d = %d\n", a, b, c, res); /* resを追加 */
return 0;
}
Extra問題
E-1 等差級数の計算
ファイル名: ex02e1.c
#include <stdio.h>
int main()
{
int a1, d, n, an, sn;
printf("Enter a1 d n -> ");
scanf("%d%d%d", &a1, &d, &n);
an = a1 + (n - 1) * d;
sn = (a1 + an) * n / 2;
printf("an = %d\n", an);
printf("Sn = %d\n", sn);
return 0;
}
