亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

編程題,計算某班成績?

各位大大,這道編程題小白做了很久,終于做出來了。

可是感覺思維有點混亂。還有最后一個語句不知道怎么回事報錯了。

so,小白只好來請教各位大大了。

( ╯□╰ )。。( ╯□╰ )。。麻煩各位熱心的||好心的||有信心的大大給小白看一下。

請多多指教啦!

正在回答

6 回答

<!DOCTYPE ?HTML>

<html >

<head>

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

<title>系好安全帶,準備啟航</title>


<script type="text/javascript">


? //通過javascript的日期對象來得到當前的日期,并輸出。

? var mydate=new Date();

? var time=mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDate()+"日";

? var myday=mydate.getDay();

? var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];?

? //weekday[myday]實現數字和星期幾的轉換

? //成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦

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

? var newscore=scoreStr.split(";"); //分割字符串成字符串數組。

? document.write("分割后得到的字符串數組:"+"<br/>"+newscore+"<br/>");//測試代碼

? //document.write(newscore[0]+"<br/>");//測試代碼

? document.write("數組長度:"+newscore.length+"<br/>");

? function resul(){

? ? var sum = 0;

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

? ? ?newscore[i]=newscore[i].substring(3);//提取數組元素中的分數,重新給數組賦值

? ? //document.write(newscore[i]+"<br/>");

? ? sum=sum+parseInt(newscore[i]);//計算班級總分;parseInt(newscore[i])從數組中將成績撮出來。然后求和取

? ? return sum;

return newscore[i];

//使用parseInt()函數可解析一個字符串,并返回一個整數。

? }

?//document.write("新數組:"+newscore+"<br/>");

?var priscore=Math.round(sum/newscore.length);//計算平均分

?document.write("- -班級平均分:"+priscore+"<br/>");

? }


? //從數組中將成績撮出來,然后求和取整,并輸出。

?document.write(time+"&nbsp"+weekday[myday]);

? ?resul();//調用計算平均分函數

? // document.write(resul());//( ╯□╰ )( ╯□╰ )正確代碼

錯了。</script>

</head>

<body>

</body>

</html>



0 回復 有任何疑惑可以回復我~
#1

墨小漓 提問者

(●'?'●),大大你真厲害??戳四愕慕忉?,腦袋開竅了。666666
2016-09-02 回復 有任何疑惑可以回復我~

在各位大大的幫助下,這題小白終于弄出來了。謝謝大家。

<!DOCTYPE ?HTML>

<html >

<head>

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

<title>系好安全帶,準備啟航</title>


<script type="text/javascript">


? //通過javascript的日期對象來得到當前的日期,并輸出。

? var mydate=new Date();

? var time=mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDate()+"日";

? var myday=mydate.getDay();

? var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];?

? //weekday[myday]實現數字和星期幾的轉換

? //成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦

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

? var newscore=scoreStr.split(";"); //分割字符串成字符串數組。

? document.write("分割后得到的字符串數組:"+"<br/>"+newscore+"<br/>");//測試代碼

? document.write("數組長度:"+newscore.length+"<br/>");

? function resul(){

? ? var sum = 0;

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

? ? ?newscore[i]=newscore[i].substring(3);//提取數組元素中的分數,重新給數組賦值

? ? //document.write(newscore[i]+"<br/>");

? ? sum=sum+parseInt(newscore[i]);//計算班級總分;parseInt(newscore[i])從數組中將成績撮出來。然后求和取

? ? ?//使用parseInt()函數可解析一個字符串,并返回一個整數。

? ??

? }

?//document.write("新數組:"+newscore+"<br/>");

?var priscore=Math.round(sum/newscore.length);//計算平均分

return priscore;//平均分

? }


? //從數組中將成績撮出來,然后求和取整,并輸出。

?document.write(time+"&nbsp"+weekday[myday]);

? document.write("- - - 班級平均分:"+resul());//o(^▽^)o,這回終于沒有報錯了

</script>

</head>

<body>

</body>

</html>


0 回復 有任何疑惑可以回復我~
<!DOCTYPE??HTML>
<html?>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>系好安全帶,準備啟航</title>

<script?type="text/javascript">

??//通過javascript的日期對象來得到當前的日期,并輸出。
??var?mydate=new?Date();
??var?time=mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDate()+"日";
??var?myday=mydate.getDay();
??var?weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];?
??//weekday[myday]實現數字和星期幾的轉換
??//成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
??var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
??var?newscore=scoreStr.split(";");?//分割字符串成字符串數組。
??document.write("分割后得到的字符串數組:"+"<br/>"+newscore+"<br/>");//測試代碼
??//document.write(newscore[0]+"<br/>");//測試代碼
??document.write("數組長度:"+newscore.length+"<br/>");
??function?resul(){
????var?sum?=?0;
??for(var?i=0;i<newscore.length;i++){
?????newscore[i]=newscore[i].substring(3);//提取數組元素中的分數,重新給數組賦值
????//document.write(newscore[i]+"<br/>");
????sum=sum+parseInt(newscore[i]);//計算班級總分;parseInt(newscore[i])從數組中將成績撮出來。然后求和取
?????//使用parseInt()函數可解析一個字符串,并返回一個整數。
??}
?//document.write("新數組:"+newscore+"<br/>");
?var?priscore=Math.round(sum/newscore.length);//計算平均分
?document.write("-?-班級平均分:"+priscore+"<br/>");
??}

??//從數組中將成績撮出來,然后求和取整,并輸出。
?document.write(time+"&nbsp"+weekday[myday]);
???resul();//調用計算平均分函數
??//?document.write(resul());//(?╯□╰?)(?╯□╰?)小白不知道為什么,這個語句報錯了。
</script>
</head>
<body>
</body>
</html>


0 回復 有任何疑惑可以回復我~

你的resul()函數以document.write("- -班級平均分:"+priscore+"<br/>");結尾,并沒有return返回值,所以該函數完成后就是“--班級平均分:81”,然而document.write輸出內容是字符串或者是一個變量值,所以說要想用document.write去調用函數,這個函數必須是返回值或字符串的。這樣你用document.write調用沒有返回值的函數就會報錯,對于沒有返回值的函數就要直接調用,如resul();

1 回復 有任何疑惑可以回復我~
#1

墨小漓 提問者

是呢。是返回值和全局變量的問題。 o(^▽^)o 這次小白寫對了。thank you 思密達。
2016-09-02 回復 有任何疑惑可以回復我~

給你看看我的思路,希望能對你有幫助:

<script?type="text/javascript">
??Days?=?["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
??//通過javascript的日期對象來得到當前的日期,并輸出。
??var?date?=?new?Date();
??document.write(date.getFullYear()+"年"+date.getMonth()+"月"+date.getDate()+"日?"+Days[date.getDay()]);

??//成績是一長竄的字符串不好處理,找規律后分割放到數組里更好操作哦
??var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
??var?students?=?scoreStr.split(";");?//把每個人分開放到數組里面
??var?tot=0;
??for(var?i=0;?i<10;++i){?//取成績,剔除掉名字和冒號
??????students[i]?=?students[i].substring(3,5);
??}
??//從數組中將成績撮出來,然后求和取整,并輸出。
??for(var?i=0;?i<10;++i){?//算總分,成績還是字符串,所以注意把字符串轉換為整數
??????tot?=?tot?+?parseInt(students[i]);
??}
??document.write("--班級總分為:"+tot/10)

</script>


1 回復 有任何疑惑可以回復我~
#1

墨小漓 提問者 回復 imalwayshere

好噠,thank you 思密達!
2016-09-02 回復 有任何疑惑可以回復我~

你的resul()函數都沒有返回值啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

編程題,計算某班成績?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號