30/09/2018, 21:03
Mọi người giúp e bài này mới. Tại sao nó chỉ đếm kí tự đầu tiên
Đếm số lần xuất hiện của các kí tự trong xâu s[].
#include<stdio.h>
#include<conio.h>
#include<string.h>
void demkytu1(char s[], char kt[], int sl[], int *tskt)
{
int i, j; *tskt = 0;
for(i = 0; i < strlen(s); i++)
{
for(j = 0; j < *tskt; j++)
{
if( s[i] == kt[j])
sl[j]++;
break;
}
if( j == *tskt)
{
*tskt = *tskt + 1;
kt[*tskt - 1] = s[i];
sl[*tskt - 1] = 1;
}
}
}
main()
{
char s[] = "truong hoc";
char kt[100];
int sl[100], tskt;
demkytu1(s, kt, sl, &tskt);
for(int i = 0; i < tskt; i++)
{
printf("
%c : %d", kt[i], sl[i]);
}
}
Bài liên quan
Bạn bỏ break đi coi thử được không.
à đúng r, thanks bác. phải là { sl[j]++; break;}