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桁です。