#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>// yeu cau 1voiddem_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 2voiddem_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 = 0if(!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=1for(int j = i-1; j >=0; j--){// Kiểm tra đếm số ký tự khác nhau có trong chuỗiif(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ỗiif(ky_tu[x]== chuoi[k]){
dem++;}}printf("\n%c:%d", ky_tu[x], dem);
x++;}}}}intmain(){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);}return0;}