【JavaScript】7-26 单词长度 (15分)

题目:

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。

输入格式:

输入在一行中给出一行文本,以.结束

提示:用scanf("%c",...);来读入一个字符,直到读到.为止。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

输入样例:

It's great to see you here.

 

 

输出样例:

4 5 2 3 3 4

 

 

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('')
}

 

posted @ 2021-01-26 11:29  moonskies  阅读(100)  评论(0编辑  收藏  举报