问答详情
源自:7-23 编程练习

明明和大家的差不多,怎么就不行呢,崩溃

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

var riqi=new Date();

document.write(riqi);


  //通过javascript的日期对象来得到当前的日期,并输出。

  

  

  

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦


   var pingjun=[小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76];


   for(i=0;i<10;i++)

   {

       sum=0

   sum=  parseInt(pingjun[i].substring(3,5))  +  sum;

 

   }

   

   document.write(Math.round(sum/10));              //sum/pingjun.length



  //从数组中将成绩撮出来,然后求和取整,并输出。

  


</script>

</head>

<body>

</body>

</html>


提问者:城南旧梦情 2017-07-21 16:58

个回答

  • Nika_
    2017-07-26 02:13:53
    已采纳

    代码存在如下问题:

    1、数组写法出现问题,pingjun数组中,各项存储的是字符串,而非数值,所以需要加双引号或单引号,如下

    var pingjun=['小明:87','小花:81','小红:97','小天:76','小张:74','小小:94','小西:90','小伍:76','小迪:64','小曼:76'];

    2、sum值的初始化,即sum=0这条语句应该放在for循环体外,不然每次运行都会将其重新赋值为0,如下(另外,sum最好先定义再使用)

       var sum=0;
       console.log(pingjun[0].substring(3,5));
       for(i=0;i<10;i++)
       {       
       	sum = parseInt(pingjun[i].substring(3,5)) + sum;
       }

    3、题目给出的数据比较特殊,所有人的姓名都为两个字,所以你这么写也可以得到结果,但是最好是使用分割功能,以“:”作为分割,获得成绩

       var sum=0;
       for(i=0;i<10;i++)
       {       
       	sum = parseInt(pingjun[i].split(':')[1]) + sum;
       }

    注:本题要求对获得的日期进行规范化,贴一下代码给你作为参考吧

      var Udate = new Date();
      var weeks = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
      var Ndate = Udate.getFullYear()+'年'+Udate.getMonth()+'月'+Udate.getDate()+'日'+'  '+weeks[Udate.getDay()];


  • 慕村4009116
    2017-07-25 21:53:26

    是不是sum没声明

  • 城南旧梦情
    2017-07-21 17:06:10

    问题1一个变量的值不是应该在[]里吗,为什么别人答案是在""里2就算我换成""了也没有结果