Xem thêm

Viết chương trình in bảng cửu chương bằng C/C++

Huy Erick
Gợi ý cách in bảng cửu chương Nhận thấy, bảng cửu chương có 10 bảng từ 1 -> 10. Ta sẽ dùng 1 vòng for thứ nhất để lặp qua đoạn [1;10]. Trong mỗi bảng...

chương trình in bảng cửu chương

Gợi ý cách in bảng cửu chương

Nhận thấy, bảng cửu chương có 10 bảng từ 1 -> 10. Ta sẽ dùng 1 vòng for thứ nhất để lặp qua đoạn [1;10].

Trong mỗi bảng cửu chương lại có 10 giá trị từ 0 -> 9. Do đó, ta cần thêm vòng lặp thứ 2 lồng trong vòng lặp thứ nhất để lặp.

Chương trình in bảng cửu chương

Chương trình in bảng cửu chương dưới đây sử dụng ngôn ngữ C. Các bạn có thể sửa lại các lệnh printf và thay thế bằng cout. Đơn giản đúng không nào?

#include 
int main(){
    printf("\n- CHUONG TRINH IN BANG CUU CHUONG -\n");
    printf("\n- WEBSITE: NGUYENVANHIEU.VN -\n");
    for(int i = 1; i <= 10;i++){
        printf("\n- BANG NHAN %d -\n", i);
        for(int j = 0; j < 10; j++){
            printf("\t%d x %d = %d\n", i, j, i*j);
        }
    }
}

Kết quả chạy:

Chương trình in bảng cửu chương

Nhưng nếu mình muốn in ra bảng cửu chương có dạng như ảnh ở trên thì phải làm thế nào?

In bảng cửu chương dạng bảng

Để có thể in bảng cửu chương có dạng bảng mình sẽ sử dụng in có định dạng. Cụ thể là chúng ta sẽ thực hiện in 5 bảng đầu tiên trước(1->5), sau đó mới in 5 bảng phía sau(6->10).

Ta cần in theo hàng vì khi xuống hàng rồi sẽ không in ở hàng đó tiếp được(thật ra có thể, nhưng phức tạp). Do đó, chúng ta sẽ tìm cách for để in hết một hàng. Chứ không in hết một bảng cửu chương như cách phía trên. Chúng ta có thể sử dụng vòng for như sau để in từng hàng:

for(int j = 0; j < 10;j++){
    for(int i = 1; i <= 5; i++){
        s = to_string(i) + " x " + to_string(j) + " = " + to_string(i*j);
        printf("%20s",s.c_str());
    }
    printf("\n");
}

Code đầy đủ:

#include 
#include 
#include 
using namespace std;
int main(){
    printf("\n- CHUONG TRINH IN BANG CUU CHUONG -\n");
    printf("\n- WEBSITE: NGUYENVANHIEU.VN -\n");
    string s;
    for(int j = 0; j < 10;j++){
        for(int i = 1; i <= 5; i++){
            s = to_string(i) + " x " + to_string(j) + " = " + to_string(i*j);
            printf("%20s",s.c_str());
        }
        printf("\n");
    }
    printf("\n");
    for(int j = 0; j < 10;j++){
        for(int i = 6; i <= 10; i++){
            s = to_string(i) + " x " + to_string(j) + " = " + to_string(i*j);
            printf("%20s",s.c_str());
        }
        printf("\n");
    }
}

Kết quả chạy thử:

Các bạn lưu ý cần mở toàn màn hình cmd để thấy được kết quả in bảng cửu chương như ảnh dưới đây.

Chương trình in bảng cửu chương

Vậy là mình đã hoàn thành bài hướng dẫn in bảng cửu chương sử dụng ngôn ngữ C/C++. Hi vọng bạn đọc có thể học được nhiều kiến thức bổ ích hơn nhé.

Nếu bạn có cách giải khác hay bất kỳ thắc mắc liên quan tới bài học, mục bình luận luôn sẵn sàng chờ bạn đặt vấn đề. Chúc các bạn học tập tốt!

1