编写函数实现统计一个字符串中每个小写字母出现的次数。

编写函数实现统计一个字符串中每个小写字母出现的次数。在主函数中任意输入一个字符串,然后调用该函数获得统计结果,并在主函数中输出统计结果。
最新回答
回忆另存为。

2024-11-23 04:50:21

1、文件--》新建--》项目。

2、选择为:控制台应用程序--》命名:统计一个字符串中每个小写字母出现的次数--》确定。

3、确定后系统生成的代码。

4、先写一个字符串用于测试。

5、使用Dictionary集合然后循环判断测试代码。

6、程序运行测试成功后显示每种字母出现的次数。

旧颜如梦

2024-11-23 07:45:42

用java编写:

String str ="2342asfghgyu56asdasda";

Map<String,Integer> maps = new HashMap<String,Integer>();

for(int i=0;i<str.length();i++){

String key = String.valueOf((str.charAt(i)));

if(!maps.containsKey(key))

maps.put(key, 1);

else{

int val =maps.get(key);

maps.put(key, val+1);

}

}

for(Map.Entry i : maps.entrySet()){

System.out.println(i.getKey()+ "=="+i.getValue());

}

扩展资料

1、函数名: system

2、功 能: 发出一个

DOS命令

3、用 法: int system(char *command);

4、程序例:

#include <

stdlib.h
>

#include <

stdio.h
>

int main(void)

{

printf("About to spawn and run a DOS command\n");

system("dir");

return 0;

}

5、如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

(注意:Microsoft Visual C++6.0 支持system)

颜色属性由两个

十六进制
数字指定 -- 第一个对应于背景,第二个对应于前景。每个数字可以为以下任何值:

0 = 黑色 8 = 灰色

1 = 蓝色 9 = 淡蓝色

2 = 绿色 A = 淡绿色

3 = 浅绿色 B = 淡浅绿色

4 = 红色 C = 淡红色

5 = 紫色 D = 淡紫色

6 = 黄色 E = 淡黄色

7 = 白色 F = 亮白色

薰衣草香

2024-11-23 07:20:13

#include<stdio.h>
#define N 100
void count(char str[],int times[])   //统计小写字符出现次数
{
    int i;
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]>='a' && str[i]<'a'+26)   //只统计小写字符
            times[str[i]-97]++;            //字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
    }
}
int main()
{
    char str[N];
    int i,times[26];    //time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
    for(i=0;i<26;i++)    //初始化,所有字符次数置0
        times[i]=0;
    scanf("%s",str);     //读入字符串
    count(str,times);     //调用函数统计次数,让times装载统计结果
    for(i=0;i<26;i++)     //输出结果,小写字符a的ascii码为97.
    {
        printf("%c\t%d\n",i+97,times[i]);
    }
    return 0;
}

PS:唐同是谁^^

追问
样例输入abz
样例输出
a出现了1次
b出现了1次
z出现了1次
汤瞳就是伤痛啦,瞎取的。。。
追答

哦,这样啊,那稍微改一下就行了:

#include<stdio.h>
#define N 100
void count(char str[],int times[])   //统计小写字符出现次数
{
    int i;
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]>='a' && str[i]<'a'+26)   //只统计小写字符
            times[str[i]-97]++;            //字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
    }
}
int main()
{
    char str[N];
    int i,times[26];    //time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
    for(i=0;i<26;i++)    //初始化,所有字符次数置0
        times[i]=0;
    scanf("%s",str);     //读入字符串
    count(str,times);     //调用函数统计次数,让times装载统计结果
    for(i=0;i<26;i++)     //输出结果,小写字符a的ascii码为97.
    {
        if(times[i]>0)
            printf("%c出现了%d次\n",i+97,times[i]);
    }
    return 0;
}
追问
一直想知道return 0是什么意思
追答
因为我写的main函数是要求返回一个int值的,所以最后写了一个return 0,你可以返回任何int值,甚至也可以不写这一句,系统会自动给一个返回值。通常约定上这个语句是作为程序执行的状态码的。通过它来反映程序是不是正常结束了。
C语言main函数也可以不用返回值的,直接void main就不能有最后的return语句,不过C++的main函数要求main必须有返回值,所以习惯上都写成int main的形式。