您的位置:首页 > 编程语言 > C语言/C++

C语言学习历程——字符串训练01

2017-04-30 11:30 337 查看
1, 统计一个字符串中各个字符的百分比:

如输入字符串asdfs  

a  ----- 20%

s  ----- 40%

d  -----20%

f  -----20%

分析:用数组存放出现的字符和出现的次数,最后输出时计算百分比

下面是代码实现:

/**********************************************

  1, 统计一个字符串中各个字符的百分比:

  如输入字符串asdfs  

  a  ----- 20%

  s  ----- 40%

  d  -----20%

  f  -----20%

**********************************************/

  

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define N 1024

//asdfs  

void count_num_char(char *src,int *output)

{

    if(src == NULL)

    {

        printf("the string is empty\n");
exit(0);

    }

    char *dest = src;

    while(*dest != '\0')  //遍历字符串

    {

        output[*dest]++;  //重复字符的处理方法,出现一次则加1

        dest++;

    }

}

int main()

{

    char *src = NULL;

    int target[256] = {0};

    int i = 0;
int len = 0;

    src = (char *)malloc(N*sizeof(char));

    printf("please input your string \n");
scanf("%s", src); 
len = strlen(src);

    count_num_char(src,target);

    for(i = 0;i < 256;i++)

    {

        if(target[i] != 0)
{
printf("%c:%.2f\%\n",i,(target[i] * 100.0) / len);
 //打印出数组里的字符并且计算出出现的次数百分比
}

    }

    free(src);

    src = NULL;

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: