30/09/2018, 19:51

Các bác giảng dậy em đoạn code này với

Tình hình là em có đoạn code C này, đề bài nó hỏi kết quả, mình không được phép dùng máy tính, chỉ được ghi trên giấy, màh em vật lộn mãi cũng không hiểu được, các bác giải thích giúp em từng dòng đoạn code này với, em xin chân thành cảm ơn!

void printStar (length)
{
    for (int i =0; i<length; i=i+1)
    {
        printf ("*");
    }
}


int main ()
{
    int i=0,j;
    while (i<6)
    {
        j=0;
        while (j<=i)

        {
            printStar (i-j+1);
            printf("
");
            j = j+1;

        }

        i = i+1;

        printf ("
");

    }
}
ngongja viết 22:07 ngày 30/09/2018

Em biết kết quả rồi nhưng màh không hiểu tại sao nó lại ra kết quả như thế, các bác giải thích dòng j=j+1, i=i+1 cho em, nó có tác dụng gì, đoạn void nữa, em cám ơn!!

Harry viết 21:53 ngày 30/09/2018
  1. Hàm printStar khởi tạo và đk of for thì có, nhưng đk và vòng lặp chưa có, tham số length là j thế?
  2. trong main() thì in ra các dãy dấu *, mục đích in ra tam giác dấu *
    2.1) j++ là, với mỗi giá trị của i sẽ in ra các dòng dấu * và dòng duwois ít hơn dòng trên 1 * cho đến khi hết * (khi j > i)
    2.2) i++ Lặp lại việc in như trên, nhưng số khởi tạo * ban đầu của lần sau lớn hơn lần trước (liền sau lớn hơn liền trước 1 *). Cứ làm như thế cho đến khi i = 5
ngongja viết 21:57 ngày 30/09/2018

cái hàm void printstar hiểu là
for
{int i =0, i < i-j+1, i++ }

có được không hả bác

Chung viết 21:58 ngày 30/09/2018

Mình sửa 1 chút

void printStar(int length)
...

Còn mình ko hiểu ý bạn hỏi lắm.

for 
{int i =0, i < i-j+1, i++}

Cái này thầy mình chưa dạy @@

Bài liên quan
0