2016-10-05 6 views
0

私はC言語を教えようとしており、これまでCodeAcademyでいくつかのことしか行っていません。私は現在のオンラインコースでループになるとかなり不足しています。下のように1から10の最初の5の倍数を作るためにループを使いたいとしましょう。C言語での倍数の使用

Number 1st  2nd  3rd  4th  5th 
 
1  1  2  3  4  5 
 
2  2  4  6  8  10 
 
3  3  6  9  12  15 
 
4  4  8  12  16  20 
 
5  5  10  15  20  25 
 
6  6  12  18  24  30 
 
7  7  14  21  28  35 
 
8  8  16  24  32  40 
 
9  9  18  27  36  45 
 
10  10  20  30  40  50

私は上記を行うために、ループのネストまたは単一のループを使用する方法についての空白を描いています。誰でもどこから始めるべきかアドバイスがありますが、私はこれを理解していないと思います。

+2

Iを印刷するために、これら二つの機能を使用するプログラムを書くテーブル

  • の一つの行を印刷することが可能な機能を記述ヘッダ
  • を印刷することができる機能を書きますすでにループを理解するのに役立つオンラインリソースがたくさんあるので、ほとんどの人があなたの質問に同情的ではないことを警告するためにここに来ました。スタックオーバーフローの回答者は、通常、斬新な質問を手助けすることを好みます。 – zneak

  • +0

    複数のネストされたループが時折手を抜けることがあります。通常、より見た目の良いソリューションがあります。 – motoku

    +0

    初心者の方はこのチュートリアルをお読みください:http://beginnersbook.com/2014/01/c-for-loop/ –

    答えて

    0

    は、プログラミングの大部分は小さな問題に大きな問題を壊すことについてですprintf description

    #include <stdio.h> 
    
    int main(void){ 
        char *field_name[] = {"Number", "1st", "2nd", "3rd", "4th", "5th" }; 
        int field_size = 10; 
        int num_of_fields = 6; 
        int number_max = 10; 
    
        //print field_name 
        for(int i = 0; i < num_of_fields; ++i) 
         printf("%-*s", field_size, field_name[i]); 
        puts(""); 
        //print numbers 
        for(int n = 1; n <= number_max; ++n){ 
         printf("%-*d", field_size, n); 
         for(int i = 1; i < num_of_fields; ++i) 
          printf("%-*d", field_size, n * i); 
         puts(""); 
        } 
        return 0; 
    } 
    
    +0

    リンクのおかげで、私はこれについてネストされたループを避けることができなかったことを知らなかった... サイドノートでは、 CodeAcademy以外のCを学ぶ? – Ardowi

    +0

    ...このコードではネストされたループを使用しています。 –

    +0

    _私はloop nesting_ – BLUEPIXY

    1

    を参照してください。

    このテーブルを作成することの問題があまりにも大きければ、問題を細分化してください。例えば

    • は、テーブル全体を
    関連する問題