C程序来查找字符串中每个数字的频率
假设我们有一个字符串s。s包含字母和数字。我们必须找到每个数字的频率并显示它们。为此,我们可以为每个数字(0到9)创建一个大小为10的数组,最初数组中的所有元素都是0,然后当我们遇到一个数字时,只需增加该索引的值,最后将它们全部打印出来。
因此,如果输入类似于s="we85abc586wow236h69",那么输出将是(Number2,Freq1)(Number3,Freq1)(Number5,Freq2)(Number6,Freq3)(Number8,频率2)(数字9,频率1)
示例
让我们看看以下实现以获得更好的理解-
#include <stdio.h>
#include <string.h>
void solve(char *s){
int freq[10] = {0};
for(int i = 0; i < strlen(s); i++){
if(s[i] >= '0' && s[i] <= '9'){
freq[s[i] - '0']++ ;
}
}
for(int i = 0; i<10; i++){
if(freq[i] > 0)
printf("(Number %d, Freq %d)\n", i, freq[i]);
}
}
int main(){
char *s = "we85abc586wow236h69";
solve(s);
}输入
"we85abc586wow236h69"输出结果
(Number 2, Freq 1) (Number 3, Freq 1) (Number 5, Freq 2) (Number 6, Freq 3) (Number 8, Freq 2) (Number 9, Freq 1)
热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短