Vấn đề
Logic trong C để in số theo các định dạng như kim tự tháp, tam giác vuông?
Giải pháp
Để in số hoặc ký tự theo mẫu, ta dùng vòng lặp for.
Ví dụ 1
Chương trình C in kim tự tháp:
#include <stdio.h>
int main() {
int n;
printf("Nhap so dong: ");
scanf("%d", &n);
printf("\n");
// Vòng lặp cho số dòng
for (int i = 1; i <= n; i++) {
// Vòng lặp in khoảng trắng đầu dòng
for (int space = 0; space <= n - i; space++) {
printf(" ");
}
// Vòng lặp in *
for (int j = 1; j <= i * 2 - 1; j++) {
printf(" * ");
}
printf("\n");
}
return 0;
}
Kết quả
Nhap so dong: 8
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * *
Ví dụ 2
Chương trình hiển thị số dạng tam giác vuông (mẫu):
#include <stdio.h>
void main() {
int i, j, rows;
printf("Nhap so hang: ");
scanf("%d", &rows);
for (i = 1; i <= rows; i++) {
for (j = 1; j <= i; j++)
printf("%d", j);
printf("\n");
}
}
Kết quả
Nhap so hang: 10 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910