在程序中,随机产生100个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示4分、“B”表示3分、“C”表示2分、“D”表示1分、“E”表示0分。平均成绩用浮点数表示。请填写横线处的内容。 注意:请勿修改main()主方法和其他

admin2009-12-22  29

问题 在程序中,随机产生100个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示4分、“B”表示3分、“C”表示2分、“D”表示1分、“E”表示0分。平均成绩用浮点数表示。请填写横线处的内容。
   注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
   import java.math.*;
   public class basic
   {
   public static void main(String[] args)
      {
         float aver=0;
         int a=0, b=0, c=0, d=0, e=0, f=0;
         for(______; i < 100; i++)
         {
            double sd= Math.random()*5+’A’;
            char score=______;
            ______(score)
            {
               case‘A’: aver+=4;a++;break;
               case‘B’: aver+=3;b++;break;
               case‘C’: aver+=2;c++;break;
               case‘D’: aver+=1;d++;break;
               case‘E’: aver+=0;e++;break;
               default: break;
            }
         }
         aver/=100;
         System.out.println("平均分数为"+aver+",学生人数100");
         System.out.println("得A的学生有"+a+"人");
         System.out.println("得B的学生有"+b+"人");
         System.out.println("得C的学生有"+c+"人");
         System.out.println("得D的学生有"+d+"人");
         System.out.println("得E的学生有"+e+"人");
      }
   }

选项

答案int i=0 (char)sd switch

解析 本题考查知识点:for循环、多分支语句、数据类型之间的转换。解题思路:程序中用一个for循环控制100个学生成绩的录入。sd是随机产生的一个65到69之间的数,将其转换为字符型数据以后赋值给score。使用多分支语句统计分数,最后算出平均值。第1个空考查for循环的使用。for循环的结构是“for(循环初始化语句;循环结束条件;迭代部分)”,初始化语句中可以声明一个变量,这个变量的作用域是整个for循环。因此第1个空应该声明变量。在本题中,i可以是除布尔型以外的任意数据类型。第2个空考查数据类型之间的转换,凡是从高优先级次序的数据类型转换为低优先次序的数据类型,都必须使用强制类型转换。所以第2个空不能填写sd,只能填写(char)sd。第3个空考查多分支语句的使用。Java语言中的多分支语句为switch-case语句,由此得到第3个空的结果。
转载请注明原文地址:https://kaotiyun.com/show/dcnp777K
0

最新回复(0)