计算字符串中相同字符个数(最简单的做法)

关于计算一个字符串中存在的相同字符串个数
  • 这个代码采用了比较简单的思路做的,没有储存起来这是比较不好的一个地方,但是也比较容易让人接受

思路:

  • 循环每一个与最后一个比较,计算出个数,然后
  • 防止重复输出多次,加一个循环判断前面是否已经计算过了
  • 如果计算过了就直接break跳出循环
#include <stdio.h>
#include <string.h>


int main()
{
	char character[20];
	bzero(character,20);

	//从键盘获取一个字符串
	printf("请输入需要计算器的字符串:\n");
	scanf("%s",character);

	//定义两个标签,flag用于判断前面是否已经计算过该字符串,flag1用于计算个数,因为要加上当前的字符串,所以要从1开始
	int flag=0,flag1=1;
	//i代表从第一个开始和字符串中的每一个对比是否一样
	for(int i=0;i<strlen(character);i++)
	{
		//用于判断前面是否已经计算过改字符串了
		for(int k=0;k<i;k++)
		{
			//如果前面有一样的字符串证明该字符串已经被计算过了
			if(character[i]==character[k])
			{
				//把flag置为1,用于下面跳过这次循环
				flag=1;
				//结束这个循环,继续下面的代码
				break;
			}
		}

		//如果flag为真的时候(计算机中1即为真)
		if(flag)
		{
			//把flag重新置为0,用于下次循环使用
			flag=0;
			//跳过这次循环,不执行下面的代码
			continue;
		}

		//开始从i+1个字符开始和i比较
		for(int j=i+1;j<strlen(character);j++)
		{
			if(character[i]==character[j])
				//用于计算相同的个数
				flag1++;

		}

		//最后打印输出一下
		printf("%c:%d\n",character[i],flag1);
		flag1=1;

	}
	return 0;
}
  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值