Cây chữ số trong C

Tạo cây chữ số
Viết chương trình hiện ra trên màn hình

         1
        232
       34543
      4567654
     567898765
    67890109876
   7890123210987
  890123454321098
 90123456765432109
0123456789876543210

Có thể gợi ý chỗ này giúp em được không ạ. Em biết là sẽ dùng vòng lặp for nhưng k thể nghĩ ra nên sử dụng ntn. Mấy dòng dưới nó khá là rối.

Em cảm ơn ạ.

  • Phần tử trên mỗi dòng thì tăng 2 (+=2). Lặp 1.
  • Giá trị khởi đầu mỗi dòng thì tăng 1(+=1/++), tăng dần từ đầu dòng in ra đến giữa dòng thì giảm về giá trị đầu. Lặp 2.
  • Khi tăng đến 10 thì giảm về 0, xem như chia lấy dư cho 10 (%10).

Sơ sơ thì có 2 vòng lặp.

3 Likes
#include <stdio.h>
int main()
{
    printf("         1\n");
    printf("        232\n");
    printf("       34543\n");
    printf("      4567654\n");
    printf("     567898765\n");
    printf("    67890109876\n");
    printf("   7890123210987\n");
    printf("  890123454321098\n");
    printf(" 90123456765432109\n");
    printf("0123456789876543210\n");
}
4 Likes

e muốn sử dụng for chứ printf thì đơn giản quá ạ.

printf đơn giản quá thì bạn dùng puts nhé.

int i = 1;
for (; i > 0; i--) {
    puts("         1");
    puts("        232");
    puts("       34543");
    puts("      4567654");
    puts("     567898765");
    puts("    67890109876");
    puts("   7890123210987");
    puts("  890123454321098");
    puts(" 90123456765432109");
    puts("0123456789876543210");
}
3 Likes

Anh cứ thích đùa :smile::smile:


như thế này đúng không bạn.

1 Like

đúng rồi anh, nhưng em bên C ạ, :blush: cảm ơn anh nhé.

Mình hơi thiếu chút. Bạn tự sửa lại nhé. Hiểu ý tưởng là sửa được à.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?