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 祝福语驱散霉运的话简短