寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: C言語とJavaによる5行の入出力

5行の入力から適切な5行を出力する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「その他セット」からの出典です。
paiza.jp
・問題「ifを使いますか?三項演算子を使いますか?」
 5行の入力が与えられます。
 1行目では整数aが与えられます。
 aが0より大きいなら"plus"、そうでなければそのまま1行目で表示してください。
 2行目では文字列bが与えられます。
 bが"hoge"に一致するなら"yes"、そうでなければそのまま2行目で表示してください。
 3行目では文字列cが与えられます。
 cが10文字なら"ten"、そうでなければそのまま3行目で表示してください。
 4行目では文字列dが与えられます。
 dが文字"x"を含むなら"x"が最初に見つかった位置、そうでなければ"nothing"を4行目で表示してください。
・5行目では文字列eが与えられます。
 eが5文字なら"five"、そうでなければeの最初の1文字だけを5行目で表示してください。

・入力される値
 5行の各行でa,b,c,d,eが与えられます。
 入力値最終行の末尾に改行が1つ入ります。
 文字列は標準入力から渡されます。

・期待する出力
 適切な5行の出力してください。

・条件
 なし

僕が作成、提出したコードは、以下のとおりです。

/*
C言語による5行の入出力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
#include<string.h>
int main(void){
    int a;
    char b[100],c[100],d[100],e[100];
    const char *ava=d;
    int f='x';
    char *posi;
    scanf("%d",&a);
    scanf("%s",b);
    scanf("%s",c);
    scanf("%s",d);
    scanf("%s",e);
    posi=strchr(ava,f);
    if(a>0){
        printf("plus\n");
    }else{
        printf("%d\n",a);
    }
    if(strcmp(b,"hoge")==0){
        printf("yes\n");
    }else{
        printf("%s\n",b);
    }
    if(strlen(c)==10){
        printf("ten\n");
    }else{
        printf("%s\n",c);
    }
    if(posi!=NULL){
        printf("%ld\n",posi-d);
    }else{
        printf("nothing\n");
    }
    if(strlen(e)==5){
        printf("five\n");
    }else{
        printf("%.1s\n",e);
    }
    return 0;
}
/*
Javaによる5行の入出力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String A = sc.nextLine();
		int a = Integer.parseInt(A);
			if(a > 0) {
				System.out.println("plus");
			}else {
				System.out.println(a);
			}
		String b = sc.nextLine();
			if(b.contentEquals("hoge")) {
				System.out.println("yes");
			}else {
				System.out.println(b);
			}
		String c = sc.nextLine();
			if(c.length() == 10) {
				System.out.println("ten");
			}else {
				System.out.println(c);
			}
		String d = sc.nextLine();
			if(d.contains("x")) {
				System.out.println(d.indexOf("x"));
			}else {
				System.out.println("nothing");
			}
		String e = sc.nextLine();
		if(e.length() == 5) {
			System.out.println("five");
		}else {
			System.out.println(e.substring(0,1));
		}
	}
}

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。