ex10-3.c

double型の関数 pi() は、円周率として実数値 3.14159265358979323846 を返り値として返す関数である。 この関数 pi() を定義し、正の実数 r の値を入力すると、半径 r の円の面積を関数 pi() を用いて計算した結果を出力するプログラム ex10-3.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、半径 r の入力と面積の出力は繰り返し行えるものとし、r に 0 以下の値入力されるとプログラムは何も出力せずに終了するものとする。

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-3
r? 0
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-3
r? 1
半径 1.000000 の円の面積は 3.141593
r? 2
半径 2.000000 の円の面積は 12.566371
r? 9
半径 9.000000 の円の面積は 254.469005
r? 9.99
半径 9.990000 の円の面積は 313.531261
r? -1

ex10-4.c

3つのvoid型の関数 pos()、neg()、zero() は、それぞれ、「正の値です」、「負の値です」、「0です」と出力を行う関数である。 関数 pos()、neg()、 zero() を定義し、実数 x の値を入力すると x の値の正負(および 0)を判定し、これら3つ関数を用いて判定結果出力するプログラム ex10-4.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、実数値 x の入力と判定は繰り返し行えるものとし、0 と判定されると結果を出力してプログラムを終了するものとする。

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-4
x? -1
負の値です
x? 1
正の値です
x? -2.1
負の値です
x? 3.4
正の値です
x? 0
0です

ex10-5.c

正の整数 $n$ の値を入力すると、半角のアスタリスク(星マーク) * と 半角のドット(ピリオド) . を使って次のような模様を出力するプログラム ex10-5.c を作成し、kiso2コマンドを用いて提出しなさい。 出力される模様は、i 行目に 「n-i 個の . と1個の *」が i+1 回表示される。 また、n に正の整数以外の値が入力された場合は、何も出力せずに終了するものとする。

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-5
n? 0
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-5
n? 1
.*
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-5
n? 2
..*
.*.*
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-5
n? 5
.....*
....*....*
...*...*...*
..*..*..*..*
.*.*.*.*.*
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-5
n? 12
............*
...........*...........*
..........*..........*..........*
.........*.........*.........*.........*
........*........*........*........*........*
.......*.......*.......*.......*.......*.......*
......*......*......*......*......*......*......*
.....*.....*.....*.....*.....*.....*.....*.....*
....*....*....*....*....*....*....*....*....*
...*...*...*...*...*...*...*...*...*...*
..*..*..*..*..*..*..*..*..*..*..*
.*.*.*.*.*.*.*.*.*.*.*.*
個数で考えると3重のfor文で書くことになりますが、2重のループでも書けます。

ex10-6.c

正の整数 n の値を入力すると、全角のアスタリスク(星マーク) と全角の空白文字(あるいは、半角の空白文字2つ)を使って次のような $(2n+1)\times(2n+1)$ のサイズの模様を出力するプログラム ex10-6.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、n に正の整数以外の値が入力された場合は、何も出力せずに終了するものとする。

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 0
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 1

 *

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 2
 * *
*   *
  *
*   *
 * *
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 3
*  *  *
  * *
 *   *
*  *  *
 *   *
  * *
*  *  *
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 5
 *  * *  *
*  *   *  *
  *  *  *
 *  * *  *
*  *   *  *
  *  *  *
*  *   *  *
 *  * *  *
  *  *  *
*  *   *  *
 *  * *  *
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex09-6
n? 12
*  *  *  *  *  *  *  *  *
  *  *  *  * *  *  *  *
 *  *  *  *   *  *  *  *
*  *  *  *  *  *  *  *  *
  *  *  *  * *  *  *  *
 *  *  *  *   *  *  *  *
*  *  *  *  *  *  *  *  *
  *  *  *  * *  *  *  *
 *  *  *  *   *  *  *  *
*  *  *  *  *  *  *  *  *
  *  *  *  * *  *  *  *
 *  *  *  *   *  *  *  *
*  *  *  *  *  *  *  *  *
 *  *  *  *   *  *  *  *
  *  *  *  * *  *  *  *
*  *  *  *  *  *  *  *  *
 *  *  *  *   *  *  *  *
  *  *  *  * *  *  *  *
*  *  *  *  *  *  *  *  *
 *  *  *  *   *  *  *  *
  *  *  *  * *  *  *  *
*  *  *  *  *  *  *  *  *
 *  *  *  *   *  *  *  *
  *  *  *  * *  *  *  *
*  *  *  *  *  *  *  *  *
ex09-6.c の中心 (n+1, n+1) からの距離(第10回スライド ex09-6.c)で考えるのが簡単だと思います。

ex10-7.c

2種類のテスト a, b の採点結果を集計したい。 まず、受験者数 n の値を自然数として入力し、次いで n 人分の a, b の得点を順に入力すると、a, b および、その合計 a+b の最高点、最低点、平均点を出力するプログラム ex10-7.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、n に 0 以下の値が入力された場合は再度 n の入力を行い、また、a, b いずれかの得点に負の値が入力された場合は再度その受験者の得点入力を行うものとする。

実行例:

t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-7
n? 0
n? -1
n? 3
0:a b? -1 20
0:a b? 0 20
1:a b? 80 96
2:a b? 40 10
Max: 80 96 176
Min: 0 10 20
Avg: 40.00 42.00 82.00
t180900@s01cd0542-160:~/kiso2-2018/ex10$ ./ex10-7
n? 5
0:a b? 30 99
1:a b? 21 -4
1:a b? 21 84
2:a b? 99 70
3:a b? 100 100
4:a b? 94 53
Max: 100 100 200
Min: 21 53 105
Avg: 68.80 81.20 150.00
  • lecture/kiso2/ex10.txt
  • 最終更新: 2018/11/29 16:40
  • by sano