Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C in mẫu chuỗi ngược (Reversed String Pattern)

Cho chuỗi str, in mẫu ngược dần: hàng 1 in 1 ký tự, hàng 2 in 2 ký tự ngược, hàng 3 in 3 ký tự ngược... Nếu hết chuỗi thì điền *.

Ví dụ

Input: "abcd"
Output:
a
c b
* * d
Input: "tutorialspoint"
Output: (mẫu hình tam giác ngược với * điền)

Phương pháp:

  • Duyệt i từ 0, tính k = (i*(i+1))/2 - 1.
  • Với mỗi j từ 0 đến i-1: nếu k >= n-1 in *, ngược lại in str[k]; giảm k.

Mã nguồn C

#include <stdio.h>

int reverse_it(char str[], int n) {
    int i, j, k;
    for (i = 0; i < n && k < (n-i)*2; i++) {
        k = (i * (i + 1)) / 2 - 1;
        for (j = 0; j < i && k < (n-i)*2; j++) {
            if (k >= n-1) printf("* ");
            else printf("%c ", str[k]);
            k--;
        }
        printf("\n");
    }
    return 0;
}

int main() {
    char str[] = "tutorialspoint";
    int size = sizeof(str) / sizeof(str[0]);
    reverse_it(str, size);
    return 0;
}

Kết quả

Hiển thị mẫu tam giác chuỗi ngược với * điền (xem hình ảnh).