JavaScript 字符串处理 | 精确四舍五入 | 保留两位小数 | 为什么牛客网提示没有输入输出数据

下午手贱JavaScript写了个题,当然了最后也没通过,不是我代码问题,我换了三个四个浏览器,输出都没问题,但是提交OJ的判定系统就说我没有输出😢,(当然这个为题解决了,看下边)

牛客网提示没有输入输出数据

我一下午都在疑惑为什么说我没输入输出,因为牛客网的判题系统问题,JavaScript输入我用的是prompt(),后来查了官方,官方说要用readline()输入。😃 无语了。

  • 牛客网JavaScript V8引擎是利用了readline()接收输入的每一行,该行字符数不能超过1024个。在这里readline是可以重载的,也就是说每一次调用readline()就会识别一行输入数据,多行输入其实就是写多个readline()即可。
  • 牛客网输出函数用print()和console.log()都可以,但是document.write()不行哦,会提示超时。
  • 在这里插入图片描述
  • 其他语言的输入输出格式:https://www.nowcoder.com/discuss/276

题目

题目描述
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。
输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
输出描述:
学号,3科成绩,输出格式详见输出样例。

示例1
输入

17140216;80.845,90.55,100.00

输出

The each subject score of No. 17140216 is 80.85, 90.55, 100.00.

答案

C语言答案

当然了这个题用C语言写很简单,代码如下:

#include <stdio.h>
int main()
{
    long s;
    float a,b,c;
    scanf("%d;%f,%f,%f",&s,&a,&b,&c);
    printf("The each subject score of  No. %d is %.2f, %.2f, %.2f.\n",s,a,b,c);
}

JavaScript答案

var str = readline();
var result = "The each subject score of  No. ";  //使用result来保存结果是因为后面的步骤中,否则控制台无法在一行中输出

var pos = str.search(";"); 		//找到;
result += str.slice(0, pos);	//分出学号
result += " is ";
str = str.slice(pos + 1, str.length);	//把学号从字符串中裁掉

var StrArray = new Array();				//定义数组
StrArray = str.split(",");			 //剩余部分字符串按照`,`分割
for(i = 0; i < StrArray.length; i++) {		//存入数组中
	StrArray[i] = +StrArray[i];
	StrArray[i] = Math.round(StrArray[i] * 100) / 100.;  //四舍五入
	StrArray[i] = StrArray[i].toFixed(2);   //保留两位小数 ,避免100.00只显示100的情况
	if(i != StrArray.length - 1)
		result += StrArray[i] + ",";
	else
		result += StrArray[i] + ".";
}

document.write(result);	//网页输出 输出,二选一即可,a题过程中建议用
console.log(result);	//控制台输出 输出,二选一即可,a题过程中建议用

JavaScript字符串处理总结

JavaScript 保留两位小数 | 如何精确四舍五入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ann's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值