avatar
Untitled

Guest 1.4K 13th Mar, 2020

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

// yeu cau 1

void dem_tu(char chuoi[], int do_dai_chuoi) {
    int so_tu = (!isspace(chuoi[0]));
    for (int i = 0; i < do_dai_chuoi; i++) {
        if (isspace(chuoi[i]) && !isspace(chuoi[i + 1])) {      // Trước là khoản trắng và ký tự sau là chữ thì tăng so_tu
            so_tu++;
        }
    }
    printf("\nSo tu cua chuoi tren la %d", so_tu);
}

// yeu cau 2

void dem_ky_tu(char chuoi[],int do_dai_chuoi) {
    printf("\n\nDem tung loai ky tu trong chuoi");
    int temp, dem, x = 0; // Khai báo biến trong đó .....
    char ky_tu[62];      // Do a-z, A-Z và 0-9 có 62 ký tự
    for (int i = 0; i < do_dai_chuoi; i++) {
        dem = 0;       // Bắt đầu mỗi vòng lặp cho dem = 0
        if (!isspace(chuoi[i])) { // Nếu chuoi[i] không phải khoảng trắng thì thực hiện
            temp = 1;    // Bắt đầu mỗi vòng lặp gán temp=1
            for (int j = i-1; j >= 0; j--) {     // Kiểm tra đếm số ký tự khác nhau có trong chuỗi
                if (chuoi[i] == chuoi[j]) {
                    temp =0;
                    break;
                }
            }
            if (temp == 1) {     // Gán giá trị ky_tu = chuoi
                ky_tu[x] = chuoi[i];

                for (int k = 0; k < do_dai_chuoi; k++) {      // Đếm xem có bao nhiêu ký tự giống nhau trong chuỗi
                    if (ky_tu[x] == chuoi[k]) {
                        dem++;
                    }
                }
                printf("\n%c:%d", ky_tu[x], dem);
                x++;
            }
        }
    }
}

int main()
{
    char chuoi[200];
    gets(chuoi);
    int do_dai_chuoi = strlen(chuoi);

    if (do_dai_chuoi > 200 || do_dai_chuoi == 0) {
        printf("\nSố ký tự phải lớn hơn 0 và nhỏ hơn 200");
    } else {
         dem_tu(chuoi, do_dai_chuoi);
         dem_ky_tu(chuoi, do_dai_chuoi);
    }
    return 0;
}
Description

No description

To share this paste please copy this url and send to your friends
RAW Paste Data