$ ./a.out | less
実習課題
文字列の配列を用意して,それを逆順に表示するプログラムを作成しましょう.
abcdefg gfedcba |
abcdefg bcdefga cdefgab defgabc efgabcd fgabcde gabcdef |
char str[11] = "abcdefghij"; |
0から5までの整数 m と2から4までの整数 n の二つを乱数を用いて発生させます.配列 str の m 番目の要素を n 回繰り返すように文字列の一部を置き換えて表示するプログラムを作成しましょう.
m=4 and n=3 abcdeeehij |
アルファベットの小文字26文字の範囲内の文字をランダムに20文字表示するプロ グラムを作成しましょう.なお,文字の重複はあっても良いものとします.
nwlrbbmqbhcdarzowkkyh |
教科書のp.143からのASCIIコード表を利用すると,アルファベットを数値で扱う ことが出来ます.そこでコード表にある整数値を要素として持つ int 型の配列を作り,上の例のように %c を使って教科書のp.14にある例 題2.4のようにコードから文字を表示させます.
前問を改造し,アルファベット順に並べ直して表示する機能を付加しましょう.
nwlrbbmqbhcdarzowkky abbbcdhkklmnoqrrwwyz |
以下に示す配列を用意する.
char str[27] = "abcdefghijklmnopqrstuvwxyz"; |
1桁の正の整数を乱数で発生させて,その文字数分のところで毎回スペースを入れ て表示させましょう.
4 abcd efgh ijkl mnop qrst uvwx yz |
この問題では if 文と剰余の使用法がポイントです.
前問の配列を使用してプログラムを一部改造します.1桁の正の整数を乱数で発生させてその文字数分ずらし て表示させましょう.
3 xyzabcdefghijklmnopqrstuvw |
数値を値に持つ変数については,値を別の変数に代入することは等号記号 = を用いて簡単に行えますが,文字列をそのまま代入することはC言語では簡単ではありません.そこで,文字列の値の代入に関する方法として,以下の2つを試して下さい.
char str1[4] = "abc"; char str2[4]; |
のような2つの文字列配列を用意して,配列 str1 の中身である文字列 abc を配列 str2 に移す操作を行なう場合,for 文を使用して,1文字ずつ代入するプログラムを作成しましょう.
次に,C言語に用意されている文字列コピー関数 strcpy を使用して試しましょう.この関数は教科書のp.91に説明があるように以下のようにして使用します.また,このとき,教科書のp.89にあるようにヘッダファイルを追加する必要がありますので注意してください.
char str1[4] = "abc"; char str2[4] strcpy(str2, str1); printf("%s\n", str2); |