/*
* 功能:打印字符串中重复的字符
*
* 输入:字符串
* 算法:1、首先将第一个字符存如定义的结构体数组 a[0].c,同时将a[0].count = 1
* 2、将其他的字符依次与第一个字符进行比较,若相同,则a[0].count++,若不同,则将这个字符存入新的a[1];
* 以此类推
* 3、根据a[].count 的值是否大于等于2,将值输出
*/
#include<stdio.h>
#include <string.h>
#define N 1024
/*
* 定义一个结构体:字符和字符数目
*/
struct CountChar
{
char c;
int count;
};
int main(void)
{
struct CountChar a[256]; /* 定义一个结构体数组,该数组有236个元素,均为struct CountChar 类型数据 */
char b[N];
int i, j, k = 1;;
/* 将结构体数组初始化 */
for(i = 0; i < 256; i++)
{
a[i].c= 0;
a[i].count=0;
}
gets(b); /* 输入字符串 */
a[0].c = b[0];
a[0].count = 1;
/*
* 将字符串进行解析
*/
for(i=1; b[i] != '\0'; i++)
{
for( j =
华为OJ平台试题 ——字符串:打印字符串中重复的字符
最新推荐文章于 2021-12-19 20:44:11 发布
这是一个在华为OJ平台上关于字符串处理的编程试题,目标是找出并打印输入字符串中出现次数大于等于2的重复字符。程序通过定义一个结构体数组存储字符及其出现次数,遍历字符串进行比较并更新计数,最后输出重复字符。
摘要由CSDN通过智能技术生成