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

Chương trình C chuyển đổi chữ hoa/thường (toggle case) bằng chuỗi

Khái niệm

Chuyển đổi chữ hoa thành thường và ngược lại gọi là toggle. Mỗi ký tự trong chuỗi được đảo ngược trạng thái chữ hoa/thường.

Cách 1: Tự triển khai logic (ASCII)

Chữ thường (a-z) có mã ASCII lớn hơn chữ hoa (A-Z) đúng 32 đơn vị.

#include <stdio.h>
#define MAX 100

void toggle(char *string);

int main() {
    char string[MAX];
    printf("Nhap chuoi can toggle:\n");
    gets(string);
    toggle(string);
    printf("Chuoi sau khi toggle:\n%s\n", string);
    return 0;
}

void toggle(char *string) {
    int i = 0;
    while (string[i] != '\0') {
        if (string[i] >= 'a' && string[i] <= 'z')
            string[i] = string[i] - 32; // thường -> hoa
        else if (string[i] >= 'A' && string[i] <= 'Z')
            string[i] = string[i] + 32; // hoa -> thường
        i++;
    }
}

Kết quả

Nhap chuoi can toggle: TutoRialS PoinT C ProgrAmmIng LanGuage
Chuoi sau khi toggle: tUTOrIALs pOINt c pROGRaMMiNG lANgUAGE

Cách 2: Sử dụng hàm thư viện ctype.h

#include <stdio.h>
#include <ctype.h>

int main() {
    int i, length = 0;
    char string[] = "TutORial";
    length = sizeof(string) / sizeof(string[0]);

    for (i = 0; i < length; i++) {
        if (isupper(string[i]))
            string[i] = tolower(string[i]);
        else if (islower(string[i]))
            string[i] = toupper(string[i]);
    }
    printf("Chuoi sau chuyen doi: %s", string);
    return 0;
}

Kết quả

Chuoi sau chuyen doi: tUTorIAL