题目:
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。
输入格式:
输入在一行中给出一行文本,以.结束
提示:用scanf("%c",...);来读入一个字符,直到读到.为止。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
|
输出样例:
|
JavaScript代码:
const { parse } = require('path')
var readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', function(line) {
var tokens = line.split(" ") //以空格分隔字符串为字符串数组
var ret = word(tokens)
console.log(ret)
})
function word(tokens) {
var arr = []
var numarr = []
var enter = new String()
var flag = 0
for (let i = 0; i < tokens.length; i++) {
if (tokens[i]) {
arr.push(tokens[i])
}
}
for (let i = 0; i < arr.length; i++) {
if(arr[0] != '.') {
var count = 0
for(let j = 0;j < arr[i].length;j++) {
count++
if(arr[i][j] == '.') {
count = count - 1
var s = i
flag = 1
break
}
}
if(i == s || i == arr.length - 1 || arr[i + 1] == '.') {
enter = ''
}
else {
enter = ' '
}
if(arr[i] != '.') {
numarr.push(count,enter)
}
if(flag == 1) {
break
}
}
}
return numarr.join('')
}