2. Variables and data types

Source code

printf()の変換指定

#include <stdio.h>

int main(void){
    char c; int n; double d;

    c = 'A’;
    printf("c: %c\n", c); //c: A
    printf("c: %d\n", c); //c: 65

    n = 66;
    printf("n: %c\n", n); //n: B
    printf("n: %d\n", n); //n: 66

    d = 56789.12;
    printf("f: %f\n", d); //f: 56789.120000

    return 0;
}

scanf()を使う

#include <stdio.h>
int main(void)
{
    double ddt;
    scanf("%lf", &ddt);  //double型の入力は%lf
    printf("%f\n", ddt); //double型の出力は%f
    return 0;
}

Problems

  1. キーボードから入力した数値をaへ格納し,10÷aの計算結果を出力するプログラム.ただし,変数はint型で宣言すること.10÷aはプログラムでは10/aと書く.

  2. 上と同じプログラム. ただし,変数はdouble型で宣言すること.

練習1と2の出力結果が異なることを体験してください.

  1. 国語,社会,理科の3科目の点数を入力し,3科目の合計と平均を表示する.

科目の点数の合計は整数型,平均は浮動小数点型

  1. 単価,数量を入力し,金額と消費税込みの金額を表示する.

税込み金額=金額×110÷100

金額は整数型で扱う

Solutions

問題1

キーボードから入力した数値をaへ格納し,10÷aの計算結果を出力するプログラム.ただし,変数はint型で宣言すること.10÷aはプログラムでは10/aと書く.

#include <stdio.h>
int main(void)
{
    int a,b;
    printf("a=");
    scanf("%d",&a);
    b=10/a;
    printf("10/a=%d\n",b);
    return 0;
}

問題2

上と同じプログラム. ただし,変数はdouble型で宣言すること.

#include <stdio.h>
int main(void)
{
    double a,b;
    printf("a=");
    scanf("%lf",&a);
    b=10/a;
    printf("10/a=%f\n",b);
    return 0;
}

問題3

国語,社会,理科の3科目の点数を入力し,3科目の合計と平均を表示する.

#include <stdio.h>
int main(void){
	int kokugo, shakai, rika, goukei; double ave;
	printf("kokugo=");
	scanf("%d",&kokugo);
	printf("shakai=");
	scanf("%d",&shakai);
	printf("rika=");
	scanf("%d",&rika);
	goukei = kokugo + shakai + rika;
	ave = goukei / 3.0;
	printf("SUM=%d AVE=%f\n",goukei, ave);
	return 0;
}

問題4

単価,数量を入力し,金額と消費税込みの金額を表示する.

#include <stdio.h>
int main(void)
{
	int up, qty, amount, ti;

	printf("Unit price=");
	scanf("%d",&up);
	printf("Quantity=");
	scanf("%d",&qty);

	amount = up * qty;
	ti = amount * 110 / 100;
	printf("Amount of money=%d Tax included=%d\n",amount,ti);
	
	return 0;
}

Last updated