☆課題☆
制御文と配列を用いてオリジナルのJavaアプリケーションによる初級問題(なるべく短い行数で)を作成し、模範解答例を示せ。併せて、同様な動作を行うC言語のソースコードを示せ。
問題
「programming」という文字を逆にして表示させるプログラムを作成せよ。(配列か制御文を使うこと)
模範回答例
- public class rep2{
- public static void main(String args[]){
- int i;
- char[] a = {'p','r','o','g','r','a','m','m','i','n','g'};
- char[] b = {0,0,0,0,0,0,0,0,0,0,0};
- for(i=0; i<=10; i++){
- System.out.print(a[i]);
- }
- System.out.print("の反対は");
- for(i=0; i<=10; i++){
- b[i] = a[10-i];
-
- System.out.print(b[i]);
- }
- System.out.println();
- }
- }
実行結果
[nw0630:~] j06030% java rep2
programmingの反対はgnimmargorp
考察
- クラスrep2の宣言。
- 定型文。
- 整数の変数i。
- aという箱の中に順番に文字を入れていく。a[0]にはp。
- bという箱の中身の初期化。
- for文。a[0]からa[10]まで表示させるためにiを繰り返させる。
- programmingという文字の表示。
-
- 「の反対は」という文字の表示。
- for文。今度はb[0]からb[10]まで表示させるためにiを繰り返させる。
- 10,9,8,7…と逆に表示させるためにa[10-i]とする。
-
- 10,9,8,7…となったb[i]を表示させる。
-
- 改行。
-
-
今回は制御文のfor文を使って文字を出力した。
同様の動きをするC言語のソース
#include
main(){
int i = 0;
char a[] = "PROGRAMMING";
char b[12];
while(a[i] != '\0')
{
b[i] = a[10-i];
i++;
}
b[11] = '\0';
printf("%sの反対は%s\n",a,b);
}
感想
問題を自分で考えて作るということが大変だった。
report6でやった文字を逆にするというのを作ってみた。
javaとcの違いは結構大きいと思った。
あとhtmlを少し見やすくしてみた。