10人(固定)の点数を入力した際の平均点と、合格人数(60点以上)と合格率
10人分の点数を入力してください。
0 0 0 0 0 60 60 60 60 60
点数の平均点は30.0点です。
合格者数は5人です。合格率は50.0%です。
Score.java
import java.util.Scanner;
class Score{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("10人分の点数を入力してください。");
int i,j,k,l;
j = 0;
k = 0;
l = 0;
for(i=0;i<10;i++){
j = scan.nextInt();
if(j > 59){
l = l+1;
}
k = k + j;
}
double f,g;
f = (double)k/10;
System.out.println("点数の平均点は"+ f + "点です。");
g = (double)l/10*100;
System.out.println("合格者数は"+ l + "人です。合格率は" + g + "%です。");
}
}
手直し
1人目の点数を入力してください
0
2人目の点数を入力してください
0
3人目の点数を入力してください
0
4人目の点数を入力してください
0
5人目の点数を入力してください
0
6人目の点数を入力してください
60
7人目の点数を入力してください
60
8人目の点数を入力してください
60
9人目の点数を入力してください
60
10人目の点数を入力してください
60
点数の平均点は30.0点です。
合格者数は5人です。合格率は50.0%です。
Score2.java
import java.util.Scanner;
class Score2{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int i,j=0,k=0,l=0,m=10;
for(i=0;i<m;i++){
System.out.println(i+1 + "人目の点数を入力してください");
j = scan.nextInt();
if(j >= 60){
l++;
}
k = k + j;
}
double f;
f = (double)k/m;
System.out.println("点数の平均点は"+ f + "点です。");
System.out.println("合格者数は"+ l + "人です。合格率は" + (double)l/m*100 + "%です。");
}
}
10人目入力したかわからなくなりそうだったが、
手直し後は一人づつ入力を求めたことで、間違えへりそうだ。
合格点60点以上なのだから
j > 59
よりもj >= 60
のほうが正確でした。
変数のカウントアップも
l++
だけでよいのね
出力の中でも式使えるのね。
System.out.println("合格者数は"+ l + "人です。合格率は" + (double)l/m*100 + "%です。")