一:单行输入:
1 1(输入是"1 1")
2
while(line = relinesadline()){
var lines = line.split(" ");
var a = parseInt(lines[0]);
var b = parseInt(lines[1]);
print(a + b);
}
二:多行输入:(例子未定)
var n = parseInt(readline());
var ans = 0;
for(var i = 0; i < n; i ++){
lines = readline().split(" ");
for(var j = 0;j < lines.length; j ++){
ans += parseInt(lines[j]);
}
}
print(ans);
三:找出以下数组的最大差值:[1,100,40,50,30,20,100]
输入:[1,100,40,50,30,20,100]
输出:100
let line = readline();
line = line.split(",");
line[0] = line[0].slice(1);
line[line.length - 1] = line[line.length - 1].slice(0);
for(let i = 0; i < line.length; i ++){
line[i] = parseInt(line[i]);
}
function func(arr) {
let max = arr[0];
let min = arr[0];
let res = 0;
for(let i = 1; i < arr.length; i ++){
if(arr[i] > max){
max = arr[i];
}
if(arr[i] < min) {
min = arr[i];
}
res = max - min;
}
print(res);
}
func(line);
四:数组扁平化处理
输入:[ 1,2,[3,4,[5,6]],7,8]
输出:[1,2,3,4,5,6,7,8]
五种方法:
toString()、 递归、flat()、reduce()、扩展运算符
var arr = [[1,2],3];//比较局限,只适用于数字数组
function func(arr){
return arr.toString().split(",").map(function(item){
return parseInt(item);
})
}
console.log(func(arr));
[[1,2,[3,4,5]],7].flat(3)//浏览器亲测可用
function flatArray(arr){//递归实现,很直观
let result = [];
for(let i = 0;i < arr.length; i ++){
result = result.concat(flatArray(arr[i]))
}
return result;
};
console.log(flatArray([[1,2],3]))
let line = readline();
let arr = JSON.parse(line.toString());
function flatArray(arr){
//当数组中还有数组的话,递归调用flatArray函数(利用reduce扁平), 用concat连接,最终返回arr.reduce的返回值
return arr.reduce((prev,current)=>{
print prev.concat(Array.isArray(current) ? flatArray(current) : current);
},[])
}
flatArray(arr);
console.log([...[1, 2], 3]);//用扩展运算符很简单
function flatArray4(arr){//对扩展运算符的封装
while(arr.some(item => Array.isArray(item))){
arr = [].concat(...arr)
}
return arr;
}
var arr = [[1,2],3];
console.log(flatArray(arr))
五:成绩排序:(如果成绩相同,则按照学号的大小来排序)
输入:
3(学生个数)
1 90
2 87
3 92
输出:
2 87
1 90
3 92
#include <stdio.h>
int main(){
int i,j,tmp,n,flag,a[100][2];
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i][0],&a[i][1]);
tmp=a[i][1];
flag=a[i][0];
j=i-1;
while(j>=0&&a[j][1]>tmp)
{
a[j+1][1]=a[j][1];
a[j+1][0]=a[j][0];
j--;
}
while(a[j][1]==tmp&&a[j][0]>flag)
{
a[j+1][0]=a[j][0];
a[j+1][1]=a[j][1];
j--;
}
a[j+1][1]=tmp;
a[j+1][0]=flag;
}
for(i=0;i<n;i++)
printf("%d %d\n",a[i][0],a[i][1]);
}
return 0;
}
转载:https://blog.csdn.net/lishundi/article/details/100569164
查看评论