成绩输出为NAN,有人帮我看看哪错了吗?

来源:7-23 编程练习

qq_旧安_0

2018-03-27 17:27

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

 

  var chengji=scoreStr.split(";");

  var shuchu=0;

  var pingjun=0;

  for(var i =0;i<chengji.length;i++){

      var index = chengji[i].indexOf(':');

      sum += parseInt (chengji[i].substr(index+1,2));

     

  }

   shuchu=sum/chengji.length;

      pingjun=Math.round(shuchu);

   document.write("--班级总分为:"+pingjun);


写回答 关注

4回答

  • 人生最美是清欢
    2018-03-28 18:02:03
    已采纳

    只需要在for上面加一句  var sum=0  就可以啦  

    qq_旧安_...

    谢谢,已经知道了,就是这个问题

    2018-03-29 14:54:13

    共 1 条回复 >

  • qq_巴卡拉_0
    2018-03-28 17:49:39

    var index = chengji[i].indexOf(':');中的indexOf改成split,

    然后把sum += parseInt (chengji[i].substr(index+1,2));

    这句话改成sum+=parseInt(index[1]);

    这样应该就对了

    附上我自己的代码

    //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
        var sc = scoreStr.split(";");//将字符串分割放在数组内。
     
        a=sc.length;//数组sc的长度
        var sum=0;//初始化sum
      //从数组中将成绩撮出来,然后求和取整,并输出。
      for(i=0;i<a;i++)
      {
          var sc1 = sc[i].split(":");//将每个人的姓名和成绩单独存在一个数组
          sum=sum+parseInt(sc1[1]);   //累加出总分
      }
     
      document.write("平均分为:"+(sum/a));//打印出平均分

  • 柑野
    2018-03-28 08:45:42

    可以用的,以下是你的代码。 sum函数指的是返回某一单元格区域中数字、逻辑值及数字的文本表达式之和。

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8">

    <title></title>

    </head>

    <body>

    <script>

      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

      var chengji=scoreStr.split(";");

      var shuchu=0;

      var sum=0;//pingjun修改为sum

      for(var i =0;i<chengji.length;i++){

          var index = chengji[i].indexOf(':');

          sum += parseInt (chengji[i].substr(index+1,2));

      }

       shuchu=sum/chengji.length;

       sum=Math.round(shuchu);//pingjun修改为sum

       document.write("--班级总分为:"+sum);//pingjun修改为sum

    </script>

    </body>

    </html>

    完全可以用- -

    qq_旧安_...

    谢谢,已经知道了,只用再写一个sum=0;就可以了,很抱歉你打了这么多字也没有采纳,楼上那个说的更到位些

    2018-03-29 14:56:57

    共 1 条回复 >

  • 柑野
    2018-03-27 20:01:35

    很简单 你把pingjun重新定义为sum就可以用了

    qq_旧安_...

    不可以,没反应,输出是错的

    2018-03-27 21:03:54

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题