演習7 問題5

演習7 問題5
第5問 p146∼147およびlist417x.cなどを参考にし
て、右のような100KWから1000KWまでの仕事率につい
て、50KWごとのKWと馬力(英馬力:hp)の対応表を印字す
るプログラムを作成しなさい。ただし1KW = 1.341hpと
する。また、カウンタ変数はint型にすること。
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
[KW]
134.1000
201.1500
268.2000
335.2500
402.3000
469.3500
536.4000
603.4500
670.5000
737.5500
804.6000
871.6500
938.7000
1005.7500
1072.8000
1139.8500
1206.9000
1273.9500
1341.0000
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
[hp]
#include "stdafx.h"
int main(void)
{
変数の名前:意味を持たせる
double hp;
int kw;
const int step=50,lower=100,upper=1000;
const double hp_kw=1.341;
数値定数:constにする
}
for(kw=lower;kw<=upper;kw+=step)
{
hp =hp_kw*kw;
printf("%4d [KW]\t%10.4f [hp]\n",kw,hp);
}
return 0;
演習8 問題3
/* 66666 Tachibana Masayoshi */
#include "stdafx.h"
int main(void)
{
int i,j,n;
2重ループ(1)
n = 1;
for (i=0;i<5;i++)
{
printf("%d: ",i);
for (j=0;j<7;j++)
{
printf("%5d ",n);
n = n+1;
}
printf("\n");
}
}
return 0;
2重ループ(2)
0:
1:
2:
3:
4:
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
32
5
12
19
26
33
6
13
20
27
34
7
14
21
28
35 #include "stdafx.h"
2重ループ(3)
int main(void)
{
int i,j,n;
n = 1;
for (i=0;i<5;i++)
{
printf("%d: ",i);
for (j=0;j<7;j++)
{
printf("%5d ",n);
二重になったfor文
n = n+1;
}
内側のfor文が終了し
printf("\n");
たら改行
}
}
return 0;
2重ループ(4)
外側のfor文が出力
内側のfor文が出力
0:
1:
2:
3:
4:
1
8
15
22
29
2
9
16
23
30
3
10
17
24
31
4
11
18
25
32
5
12
19
26
33
6
13
20
27
34
7
14
21
28
35 内側のfor文が終了したら改行
問題
掛け算の九九の表を図のように印刷するプ
ログラムを作りなさい
| 1 2 3 4 5 6 7 8 9
---+---------------------------1| 1 2 3 4 5 6 7 8 9
2| 2 4 6 8 10 12 14 16 18
3| 3 6 9 12 15 18 21 24 27
4| 4 8 12 16 20 24 28 32 36
5| 5 10 15 20 25 30 35 40 45
6| 6 12 18 24 30 36 42 48 54
7| 7 14 21 28 35 42 49 56 63
8| 8 16 24 32 40 48 56 64 72
9| 9 18 27 36 45 54 63 72 81
問題を細かく分けて単純化する
| 1 2 3 4 5 6 7 8 9
---+---------------------------1| 1 2 3 4 5 6 7 8 9
2| 2 4 6 8 10 12 14 16 18
3| 3 6 9 12 15 18 21 24 27
4| 4 8 12 16 20 24 28 32 36
5| 5 10 15 20 25 30 35 40 45
6| 6 12 18 24 30 36 42 48 54
7| 7 14 21 28 35 42 49 56 63
8| 8 16 24 32 40 48 56 64 72
9| 9 18 27 36 45 54 63 72 81
aを出力してからbを出力する
printfは前に戻って出力できない!
a
b
a
| 1 2 3 4 5 6 7 8 9
---+----------------------------
a1
|
a1
a2
改行
1
2
3
4
5
6
7
8
9
a13
a11 a12
1から9までくり返し
jの値を変えて繰り返す
b
j
b1
i
1|
2|
3|
4|
5|
6|
7|
8|
9|
1
2
3
4
5
6
7
8
9
2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81
j=4の場合
i
b1
4|
4
改行
8 12 16 20 24 28 32 36
b13
b11 b12
i*j
小さな部分を組み上げてプログラムにする
a11
a12
a1
a13
a
a2
プログラム
b11
b12
b13
b1
b
提出物と提出方法(1)
•  ソースコードを印刷し提出する
–  ソースコードにはきちんとインデントを付け
ること
–  学籍番号、名前をソースコードの先頭にコメ
ントとして入れること
–  ソースコードはコンパイルエラーが無い状態
であること
–  印刷したソースコードが2ページ以上となる場
合はステイプルでとじること
–  以上が守られていない場合は再提出とする
VisualStudioで作成したプログラムの 印刷方法
•  Visual Studio で保存 –  メニューバー ファイル→印刷 –  プリンタの選択で「JUST PDF3」を選び、印刷する –  適当な場所にPDFファイルを保存する •  JUST PDF 3 から印刷 –  先ほど保存したPDFファイルを右クリック –  プログラムから開く → JUST PDF3 を選ぶ –  JUST PDF 3 で表示 –  メニューバー ファイル→ 印刷