課題1
下記のプログラムをvar1.cとして書き、コンパイルした上で、表示される結果を 確認せよ。
#include <stdio.h> int main(void) { double a, b; printf("データを2つ入れてください "); scanf("%lf%lf", &a,&b); printf("和 = %f\n", a+b); printf("差 = %f\n", a-b); printf("積 = %f\n", a*b); printf("商 = %f\n", a/b); return 0; }
(実行結果) % ./a.out データを2つ入れてください 10 20 和 = 30.000000 差 = -10.000000 積 = 200.000000 商 = 0.500000
課題2
下記のプログラムをvar2.cとして書き、上記のvar1.cとの違いを認識せよ。
#include <stdio.h> int main(void) { 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\n", a/b); return 0; }
(実行結果) % ./a.out データを2つ入れてください 10 20 和 = 30 差 = -10 積 = 200 商 = 0
課題3
var1.cを修正して作成された、整数部分3桁、小数点以下3桁までを表示する プログラムが下記に示されている。下記のプログラムをvar3.cとして書け。
#include <stdio.h> int main(void) { double a, b; printf("データを2つ入れてください "); scanf("%lf%lf", &a,&b); printf("和 = %7.3f\n", a+b); printf("差 = %7.3f\n", a-b); printf("積 = %7.3f\n", a*b); printf("商 = %7.3f\n", a/b); return 0; }
(実行結果) % ./a.out データを2つ入れてください 10 20 和 = 30.000 差 = -10.000 積 = 200.000 商 = 0.500
課題4
文字列を入力させ、表示する下記のプログラムをvar4.cとして書け。
#include <stdio.h> int main(void) { char name[30]; int age; printf("名前をローマ字で入力してください "); scanf("%s", name); printf("年齢を入力してください "); scanf("%d", &age); printf("%sさんは%d才です。\n", name, age); return 0; }
(実行結果) % ./a.out 名前をローマ字で入力してください susaki 年齢を入力してください 29 susakiさんは29才です。
課題5
下記のように、標準入力から打ち込まれた1文字をそのまま標 準出力するプログラムをvar5.cとして書け。
#include <stdio.h> int main(void) { char x; printf("1文字ローマ字で入力してください "); scanf("%c", &x); printf("%c\n", x); return 0; }
(実行結果) % ./a.out 1文字ローマ字で入力してください h h
課題6
下記のように、標準入力から打ち込まれた1文字をそのまま標 準出力するプログラムをvar6.cとして書け。ここでは、上記のプログラムと異 なり、getchar(), putchar()を使用している。
#include <stdio.h> int main(void) { int x; printf("1文字ローマ字で入力してください "); x = getchar(); putchar(x); putchar('\n'); return 0; }
(実行結果) % ./a.out 1文字ローマ字で入力してください h h
課題7
入力した2つの変数の値をスワップ(交換)させて出力するプログラムを var7.cとして書け。ただし、入力される値は整数とする。
(実行結果) % ./a.out 整数を2つ入れてください 10 20 元々の値: a = 10, b = 20 交換後の値: a = 20, b = 10
課題8
var7.cを修正して、 入力した3つの変数の値をスワップ(交換)させて出力するプログラムを var8.cとして書け。ただし、入力される値は整数とする。
(実行結果) % ./a.out 整数を3つ入れてください 10 20 30 元々の値: a = 10, b = 20, c = 30 交換後の値: a = 20, b = 30, c = 10
課題9
入力された金額の1割引きの金額を表示させるプログラムを var9.cとして書き、様々な数値で試して 正しく実行されることを確認せよ。その際に、下記の実行結果を参考にせよ。
(実行結果) % ./a.out 金額を入力してください 6000 6000円の1割引きで5400円の支払いです。 % % ./a.out 金額を入力してください 9999 9999円の1割引きで9000円の支払いです。 % % ./a.out 金額を入力してください -1000 正しく金額を入力してください。