l report2

Report2


学籍番号→065726D
名前  →久貝卓矢

課題

・制御文と配列を用いてオリジナルのJavaアプリケーションによ る初級問題(なるべく短い行数で)を作成し、模範解答例を示せ。併せて、同様な 動作を行うC言語のソースコードを示せ。
次のプログラムは1〜9の間の数字で入力した数字のかけ算を出 力するプログラムである。[ a ] ,[ b ], [ c ]にはいるのをいれよ。

ソース

import java.io.*;

public class kuga {
    public static void main(String args[]) throws Exception {

        int i,j,k,l;
        int ku[][] = new int[10][9];
        for (i= 1 ; [ a ] ; i++) {
            ku[i][0] = i;
            for (j = 2 ; [ b ] ; j++) {
                k = j-1;
                ku[i][k] = [ c ];
            }
        }

        BufferedReader in = new BufferedReader(new
        InputStreamReader(System.in));
        System.out.print("1から9までの中で好きな数字を入力して下さい
        =>");
        String s = new String(in.readLine());
        int m = Integer.parseInt( s );

        if ( m >= 1 & m <= 9 ) {
 System.out.println(m + " の段のかけ算を表示します。");
            for (l = 0; l < 9 ; l++)
                System.out.println( m + " * " + (l+1) + " = " + ku[m][l]
 + " ");
        }
        else
            System.out.println("ちゃんと入力して下さい。");
    }
}

解答

a = i < 10
b = j < 10
c = i*j

実行結果

4 の段のかけ算を表示します。 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36

解答解説


考察


C言語の時のソース

#include
int main() {
  int i,j,k,l,m;
  int ku[10][9];
  
  for (i= 1 ; i < 10 ; i++) {
    ku[i][0] = i;
    for (j = 2 ; j < 10 ; j++) {
      k = j-1;
      ku[i][k] = i*j;
    }
  }
  printf("1から9の中で好きなものを入力して下さい。=>");
  scanf("%d",m);
  if (m>=49 & m<=57) {
    m = m-48;
  }
  else  if( !(m>=1 & m<=9) ){
    printf("ちゃんと入力して下さい。\n");
    return(0);
  }
  printf("%d の段のかけ算を表示します\n",m);
  for (l = 0; l < 9 ; l++) {
    printf("%d * %d =  %d \n",m,l+1,ku[m][l]);
  }
  return(0);
}