CodeIQの問題を解くとき、標準入出力のサンプルとして、メジャーな言語であれば、
各プログラミング言語の標準入出力サンプルを見ているんだけれども、ここに載っていないのもあるので、参考用に。
よく探してみたら、下記のページに標準入出力サンプル乗っていた。
http://ideone.com/samples
そのままだとCodeIQのコンパイラで動かないので、 加工して記載することに。
※よく見たら42が入力されるまで繰り返すという処理だった。
42って銀座ヒッチハイクガイドの究極の疑問の答え
ことなのだろうか。
あとこちらも参考に
標準入力から読んで、標準出力に書く
[言語別標準入出力]
(http://yukicoder.me/wiki/stdio)
[【言語別】複数行の標準入力→int型配列 の高速化(Tips)
]
(http://qiita.com/tuboc/items/aa2096c1b2725f3c4490)
- bash
while read line
do
echo $line
done
- C
#include <stdio.h>
int main(void){
char str[1024];
while( fgets(str, sizeof(str), stdin) != NULL ){
printf("%s", str);
}
return 0;
}
- C#
using System;
public class Example
{
public static void Main()
{
string line;
do {
line = Console.ReadLine();
if (line != null)
Console.WriteLine(line);
} while (line != null);
}
}
- Clojure
(doseq [line (line-seq (java.io.BufferedReader. *in*))]
(println line))
(use '[clojure.java.io])
(doseq [line (line-seq (reader *in*))]
(println line))
- D言語
import std.stdio;
import std.string;
void main()
{
string line;
while ((line = readln()) !is null) {
writeln(chomp(line));
}
}
- Erlang
-module(prog).
-export([main/0]).
main() ->
loop().
loop() ->
case io:fread( "","~d" ) of
eof ->
true;
{ok, X} ->
[Y] = X,
if
Y == "" ->
true;
true ->
io:fwrite( "~B\n",X ),
loop()
end
end.
- F#
seq { while true do yield stdin.ReadLine () }
|> Seq.takeWhile ((<>) null)
|> Seq.iter (printfn "%s")
module Example
let mutable line = System.Console.ReadLine()
while line <> null do
System.Console.WriteLine line
line <- System.Console.ReadLine()
module Example
let sysin = new System.IO.StreamReader(System.Console.OpenStandardInput())
let s = sysin.ReadToEnd()
sysin.Close()
s.Split [|','|]
|> Array.iter (fun arg -> printfn "%s" arg)
- Go
package main
import (
"fmt"
)
func main() {
var line string
for {
c,_:=fmt.Scanln(&line)
if c == 0 { break }
fmt.Println(line)
}
}
- Groovy
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
def line
while((line = br.readLine()) != null) {
println(line)
}
- Java
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
int c;
while ((c = System.in.read()) != -1)
System.out.println(c);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine())!=null) {
System.out.println(line);
}
}
}
- JavaScript(node.js)
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (chunk) {
var lines = chunk.toString().split('\n');
var N = lines.length;
for(var i=0; i<lines.length; i++) {
console.log(lines[i]);
}
});
- Lua
while true do
local line = io.read()
if line == nil then return end
print(line)
end
- Nemerle
class Example
{
public static Main () : void
{
mutable line;
do {
line = System.Console.ReadLine();
System.Console.WriteLine(line);
} while (line != null)
}
}
CSharp Similarities and Differences
- Perl
while(defined(my $line=<STDIN>)){
print $line
}
while (<>) {
print $_;
}
- Perl6
while ($_ = $*IN.get) { say $_ }
- PHP
<?php
while($line=fgets(STDIN))
{
echo $line;
}
?>
- Python
import fileinput
for line in fileinput.input():
print line,
- Python3
import fileinput
for line in fileinput.input():
print(line,end='')
line = input()
while len(line) > 0:
print(line)
line = input()
- R
con = file(description="stdin",open="r")
while (length(line <- readLines(con, n = 1, warn = FALSE)) > 0) {
cat(line)
}
close(con)
- Ruby
while line = STDIN.gets
print line
end
lines = $stdin.read.split(?\n)
lines.each{|s| puts s}
$<.map{|line| puts line }
- Scala
object Main extends App {
var line: String = readLine
while(line != null) {
println(line)
line = readLine
};
}
object Main extends App {
scala.io.Source.stdin.getLines.foreach(println)
}
- VB.Net
Module Example
Public Sub Main()
Dim line As String
Do
line = Console.ReadLine()
Console.WriteLine(line)
Loop While line IsNot Nothing
End Sub
End Module