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;
}
如输入字符串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;
}
相关文章推荐
- C语言学习历程——Training04字符串训练01
- C语言学习历程——字符串训练02
- C语言学习历程——Training04字符串训练02
- C语言学习历程——字符串训练04
- C语言学习历程——字符串训练03
- C语言学习历程——Training01整数算法训练04
- C语言学习历程——编程练习3——01
- 【C语言】学习笔记:字符串与字符数组
- 分支程序设计01 - 零基础入门学习C语言10
- 分支程序设计01 - 零基础入门学习C语言10
- C语言深入学习--checklist(1)字符串
- 指针01 - 零基础入门学习C语言41
- 指针01 - 零基础入门学习C语言41
- C语言概述01 - 零基础入门学习C语言01(新版)
- 文件操作01 - 零基础入门学习C语言60
- 位运算01 - 零基础入门学习C语言64
- 预处理01 - 零基础入门学习C语言50
- 顺序程序设计01 - 零基础入门学习C语言07
- 预处理01 - 零基础入门学习C语言50
- 循环控制结构程序01 - 零基础入门学习C语言16