2. 変数とデータ型#
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#
キーボードから入力した数値をaへ格納し,10÷aの計算結果を出力するプログラム.ただし,変数はint型で宣言すること.10÷aはプログラムでは10/aと書く.
上と同じプログラム. ただし,変数はdouble型で宣言すること.
{% hint style=”info” %} 練習1と2の出力結果が異なることを体験してください. {% endhint %}
国語,社会,理科の3科目の点数を入力し,3科目の合計と平均を表示する.
{% hint style=”info” %} 科目の点数の合計は整数型,平均は浮動小数点型 {% endhint %}
単価,数量を入力し,金額と消費税込みの金額を表示する.
{% hint style=”info” %} 税込み金額=金額×110÷100
金額は整数型で扱う {% endhint %}
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;
}