単語を数える
英単語が空白で区切られた一行が与えられる。
空白は続くこともあり、行の前後にあることもある。
単語が全部でいくつあるか出力せよ。
- 入力
- 長さ 1〜200、単語は 1 個以上
- 出力
- 単語の数
hello big world
3
英単語が空白で区切られた一行が与えられる。
空白は続くこともあり、行の前後にあることもある。
単語が全部でいくつあるか出力せよ。
hello big world
3
実行すると、これらの行が順に input()・標準入力に渡されます(実行中に入力を求めません)。
$ 準備完了
コードを入力して解くにはパソコンで開いてください。モバイルでは問題と解答を見られます。
空白が続くと分け方で答えが変わります:Python split()(引数なし)はまとめてくれますが、split(" ") は空の欠片まで数えます。
Java は trim() のあと split("\\s+")、C# は RemoveEmptyEntries。
C・C++ は scanf("%s")・cin >> が空白を飛ばすので、読めた回数がそのまま答えです。
print(len(input().split()))const line = require("fs").readFileSync(0, "utf8").split("\n")[0];console.log(line.split(" ").filter((w) => w !== "").length);import { readFileSync } from "node:fs";const line: string = readFileSync(0, "utf8").split("\n")[0];console.log(line.split(" ").filter((w) => w !== "").length);import java.util.Scanner; public class Main { public static void main(String[] args) { String line = new Scanner(System.in).nextLine().trim(); System.out.println(line.split("\\s+").length); }}using System; class Program{ static void Main() { string line = Console.ReadLine(); Console.WriteLine(line.Split(' ', StringSplitOptions.RemoveEmptyEntries).Length); }}#include <iostream>#include <string> int main() { std::string w; int count = 0; while (std::cin >> w) count++; std::cout << count << '\n';}#include <stdio.h> int main(void) { char w[201]; int count = 0; while (scanf("%200s", w) == 1) count++; printf("%d\n", count); return 0;}line = コンソール.行読み();words = line.分ける("");コンソール.書く(words.個数);