[boj]c言語-1071(X未満)


質問する


N個の整数からなる数列Aと整数Xが与えられる.このとき、X未満の数字をすべてAに出力するプログラムを作成してください.
リンクテキスト

入力


第1行はNとXを与える.(1 ≤ N, X ≤ 10,000)
2行目には、数列Aを構成するN個の整数が与えられる.与えられた整数はいずれも1以上、10000以下である.

しゅつりょく


X未満の数字を入力順にスペースに分割して出力します.少なくとも1つのX未満の数が存在する.

に答える


考えるべき問題3つ!
1-N個の数列入力を受信
2-入力された数列をXと比較する
3-X未満の数字を出力
まず数列を入力するために配列を宣言すると思いますから.次にfor文を使用してn個の数列を入力し、配列に格納します.次にifゲートを入れ、xと比較した後、小数だけ出力します.

ソースコード

#include <stdio.h>

int main()
{
    int n,x;
    scanf("%d %d\n", &n, &x);
    int num[n];
    for(int i=0; i<n; i++)
    {
        scanf("%d ", &num[i]);
        if(num[i]<x)
        {
            printf("%d ", num[i]);
        }
    }
    return 0;
}

メモ


私はこの問題でfor文とif文の順序を間違えて、これを間違えて、またfor文をして、if文を削除しました.
このコードの実行順序を整理し、for文からi=0で初期式を確立し、scanfで数列の最初の数を入力してnum[0]に入れ、if文でnum[0]とxを比較し、条件が成立したらfを印刷します.これはプロセスであり,再びforゲートに上昇し,i=1となり,これらのプロセスを(n−1)回繰り返して終了する.
簡単に言えば、scanf文とif文が順次実行され、for-scnaf-if順に繰り返されるfor文が回転するたびに実行されます.
for文とif文を合わせているので、順序を把握するのは難しいです.最初は一度に数列を入力してから、比較数列自体のコードを書いて、やればやるほど葛藤して、考えやすくなります!という思いが解けました…!
私たちも簡単に考えて、配列を発表することで作ることができます!質問に答えが…!
しかし、私が正しいかどうかを確認するために、グーグルでこの問題を検索したところ、これも少し複雑に解けていることがわかりました.必ずしも並ぶ必要はなく、数字を1つ入力して比較と出力すればいいだけです.しかし、私も自分の力で解放されて嬉しいです!ほほほ