{ }codelper
for ループ書式つき出力P0022

九九の一段

整数 n が与えられる。
i が 1 から 9 までのとき "n x i = r" の形で 9 行を出力せよ。
r は n × i。
かけ算の記号は英小文字の x で、x と = の前後には空白が一つずつある。
n が 0 や負でも同じ形で出力する(例:-2 x 3 = -6)。

入力
整数 n が一つ(-1000 ≤ n ≤ 1000)
出力
9 行
例 1 · stdin
3
stdout
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
main.py
入力(stdin)

実行すると、これらの行が順に input()・標準入力に渡されます(実行中に入力を求めません)。

$ 準備完了

コードを入力して解くにはパソコンで開いてください。モバイルでは問題と解答を見られます。

ほかの言語では?言語別の解答を見る · 8 言語の解答

最後の数が入るかが一つ目の落とし穴です。
Python の range(1, 10) は終わり(10)を含まないので 1〜9 で、range(1, 9) と書くと 9 の行が抜けます。
C 系の for (i = 1; i <= 9; i++) は <= なので 9 が入ります。
二つ目は 空白 です:つなげて書くと "3x1=3" のように空白が抜けがちです。
書式の書き方は言語で違います:Python f"{n} x {i} = {n * i}"、JS・TS のテンプレート文字列 ` ${n} x ${i} = ${n * i} 、C# $"{n} x {i} = {n * i}"、C・Java printf("%d x %d = %d\n", …)(Java の改行は %n)、C++ は <<` で一つずつ。
Craykon にはまだ埋め込み文字列がないので n + " x " + i + " = " + n * i のように + でつなぎます(* が + より先なので括弧なしでも積が先に計算されます)。

Pythonmain.py · 3 行
n = int(input())for i in range(1, 10):    print(f"{n} x {i} = {n * i}")
JavaScriptmain.js · 4 行
const n = Number(require("fs").readFileSync(0, "utf8").trim());for (let i = 1; i <= 9; i++) {  console.log(`${n} x ${i} = ${n * i}`);}
TypeScriptmain.ts · 5 行
import { readFileSync } from "node:fs";const n: number = Number(readFileSync(0, "utf8").trim());for (let i = 1; i <= 9; i++) {  console.log(`${n} x ${i} = ${n * i}`);}
JavaMain.java · 10 行
import java.util.Scanner; public class Main {    public static void main(String[] args) {        int n = new Scanner(System.in).nextInt();        for (int i = 1; i <= 9; i++) {            System.out.printf("%d x %d = %d%n", n, i, n * i);        }    }}
C#Main.cs · 13 行
using System; class Program{    static void Main()    {        int n = int.Parse(Console.ReadLine());        for (int i = 1; i <= 9; i++)        {            Console.WriteLine($"{n} x {i} = {n * i}");        }    }}
C++main.cpp · 9 行
#include <iostream> int main() {    int n;    std::cin >> n;    for (int i = 1; i <= 9; i++) {        std::cout << n << " x " << i << " = " << n * i << "\n";    }}
Cmain.c · 10 行
#include <stdio.h> int main(void) {    int n;    scanf("%d", &n);    for (int i = 1; i <= 9; i++) {        printf("%d x %d = %d\n", n, i, n * i);    }    return 0;}
Craykonmain.cray · 5 行
n = コンソール.行読み().数に();繰り返す (i = 1; i <= 9; i++){    コンソール.書く(n + " x " + i + " = " + n * i);}