home > 写経編 > 柴田望洋『明解C言語 入門編』 > 4. プログラムの流れの繰り返し >

ForNext

Only Do What Only You Can Do

025. 読み込んだ整数値を逆順に表示 (do文)

VBScript

JScript

Perl

更新日 : 2010.10.18
do
{
    print "正の整数を入力してください:";
    chomp($no = <STDIN>);

    print "\a負の数を入力しないでください。\n" if ($no < 0);

} while ($no < 0);

print "その数を逆から読むと";
$dig = 0;
do
{
    printf("%d", int($no % 10));
    $no = int($no / 10);
    $dig++;
} while ($no > 0);
print "です。\n";
printf("その数は%d桁です。\n", $dig);

print "\n";

do
{
    print "正の整数を入力してください:";
    chomp($no = <STDIN>);

    print "\a負の数を入力しないでください。\n" unless ($no >= 0);

} until ($no >= 0);

print "その数を逆から読むと";
$dig = 0;
do
{
    printf("%d", int($no % 10));
    $no = int($no / 10);
    $dig++;
} until ($no <= 0);
print "です。\n";
printf("その数は%d桁です。\n", $dig);
L:\>perl lesson_04_025.pl
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

PHP

更新日 : 2010.11.03
<?php
$fp = fopen("php://stdin", "r");

do
{
    echo "正の整数を入力してください:";
    $no = fgets($fp);

    if ($no < 0)
        echo "\x07負の数を入力しないでください。\n";

} while ($no < 0);

print "その数を逆から読むと";
$dig = 0;
do
{
    printf("%d", (int)($no % 10));
    $no = (int)($no / 10);
    $dig++;
} while ($no > 0);
print "です。\n";
printf("その数は%d桁です。\n", $dig);

fclose($fp);
?>
L:\>php lesson_04_025.php
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

Python

更新日 : 2010.11.17
# coding: Shift_JIS

import sys

no = -1
while no < 0:
    no = int(raw_input("正の整数を入力してください:"))

    if no < 0:
        print "\a負の数を入力しないでください。"

print "その数を逆から読むと",

dig = 0
while no > 0:
    sys.stdout.write("%d" % (no % 10))
    no = no / 10
    dig += 1
print "です。"

print "その数は%d桁です。" % dig
N:\>python lesson_04_025.py
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

Ruby

更新日 : 2010.11.01
begin
    print "正の整数を入力してください:"
    no = STDIN.gets.chomp.to_i

    print "\a負の数を入力しないでください。\n" if (no < 0)
end while (no < 0)

print "その数を逆から読むと"
dig = 0
begin
    printf("%d", no % 10)
    no = no / 10
    dig += 1
end while (no > 0)
puts "です。"

printf("その数は%d桁です。\n", dig)

puts ""

begin
    print "正の整数を入力してください:"
    no = STDIN.gets.chomp.to_i

    print "\a負の数を入力しないでください。\n" if (no < 0)
end until (no >= 0)

print "その数を逆から読むと"
dig = 0
begin
    printf("%d", no % 10)
    no = no / 10
    dig += 1
end until (no <= 0)
puts "です。"

printf("その数は%d桁です。\n", dig)
L:\>ruby  l:\lesson_04_025.rb
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

PowerShell

Scala

F#

C

更新日 : 2010.10.08
#include <stdio.h>
int main(int argc, char* argv[])
{
    int no, dig;

    do
    {
        printf("正の整数を入力してください:");
        scanf("%d", &no);

        if (no < 0)
            puts("\a負の数を入力しないでください。");

    } while (no < 0);

    printf("その数を逆から読むと");
    dig = 0;
    do
    {
        printf("%d", no % 10);
        no = no / 10;
        dig++;
    } while (no > 0);
    puts("です。");
    printf("その数は%d桁です。\n", dig);

    return 0;
}
R:\>lesson025\project1.exe
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

C++

C++Builder

VC++

C#

Java

更新日 : 2010.11.05
import java.util.Scanner;

class Lesson025 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        int no;
        do
        {
            System.out.print("正の整数を入力してください:");
            no = stdIn.nextInt();

            if (no < 0)
            {
                System.out.print((char)0x07);
                System.out.println("負の数を入力しないでください。");
            }

        } while (no < 0);

        System.out.print("その数を逆から読むと");
        int dig = 0;
        do
        {
            System.out.printf("%d", no % 10);
            no = no / 10;
            dig++;
        } while (no > 0);
        System.out.println("です。");
        System.out.printf("その数は%d桁です。\n", dig);
    }
}
L:\>java Lesson025
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2010.09.24
program Project1;

{$APPTYPE CONSOLE}

uses
    SysUtils;
var
    no, dig: Integer;
begin
    repeat
        write('正の整数を入力してください:');
        read(no);

        if (no < 0) then
            writeln(#7'負の数を入力しないでください。')
    until no >= 0;

    write('その数を逆から読むと');

    dig := 0;
    repeat
        write(format('%d', [no mod 10]));
        no := no div 10;
        inc(dig);
    until no <= 0;

    writeln('です。');
    writeln(format('その数は%d桁です。', [dig]));
end.
S:\>lesson025\project1.exe
正の整数を入力してください:-17
負の数を入力しないでください。
正の整数を入力してください:1963
その数を逆から読むと3691です。
その数は4桁です。

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system