問題 1
DESCRIPTION
問題 1. scanf() を用いて 2 つの文字列を読み込み、次の文字列操作を行うプログラム。. 1) str1, str2 の長さを表示。 2) str1 と str2 を連結した文字列を表示、その長さも表示。 3) str1 に str2 をコピーした結果を表示、その長さも表示。. 文字列操作の関数を使わないプログラムと、使うプログラムの 2 通りつくれ。. % ./a.out 第 1 文字列を入力: kako 第 2 文字列を入力: fujio 第 1 文字列 kako の長さは 4 - PowerPoint PPT PresentationTRANSCRIPT
1
問題 1
scanf() を用いて 2 つの文字列を読み込み、次の文字列操作を行うプログラム。
% ./a.out第 1 文字列を入力: kako第 2 文字列を入力: fujio第 1 文字列 kako の長さは 4第 2 文字列 fujio の長さは 5連結した文字列は kakofujio で長さは 9コピーした結果は kako で長さは 4%
この色はプログラムによる出力。
1) str1, str2 の長さを表示。2) str1 と str2 を連結した文字列を表示、その長さも表示。3) str1 に str2 をコピーした結果を表示、その長さも表示。
文字列操作の関数を使わないプログラムと、使うプログラムの 2 通りつくれ。
2
問題 2
入力した文字列を逆順に出力するプログラム。
% ./a.out 文字列を入力: kako kako を逆順にすると okak です。%
この色はプログラムによる出力。
3
問題 3
入力した文字列を一文字ずつ回転させて出力するプログラム。文字の長さ +1 に等しい回数回転させて出力する。
% ./a.out 文字列を入力: Hello HelloelloHlloHeloHeloHellHello%
この色はプログラムによる出力。
5文字なので、6行出力する。
4
問題 4
自然数を 10 進数表記で入力し、これを 2 進数表記で出力するプログラム
% ./a.out自然数を 10 進数で入力: 252 進数表記は: 11001%
この色はプログラムによる出力。
二進数で表示するには、2で割って余りを求めていく。例えば、25であれば、 25 ÷ 2= 12 余り 1 12 ÷ 2= 6 余り 0 6 ÷ 2= 3 余り 0 3 ÷ 2= 1 余り 1 1÷ 2= 0 余り 1この結果を逆に並べて 11001 が25の2進標記になる。最初に計算して得られた余りを最後に表示する必要があるので、配列を用意して置いて、それに保存する。
5
問題 5
自然数を 10 進数表記で入力し、これを 16 進数表記で出力するプログラム。一旦、文字列の配列に 16 進数標記した文字を代入しておき、それを出力する。変換指定 %X を使ったものと比較すること。
% ./a.out自然数を 10 進数で入力: 2516 進数表記は: 19% ./a.out自然数を 10 進数で入力: 9016 進数表記は: 5A
この色はプログラムによる出力。
ヒント 25 = 1*16 + 9*1 だから 16 進数表記は 19
90 = 5*16 + 10*1 だから 16 進数表記は 5A
printf("%X\n", data);
整数値 data を 16 進数で出力