标题:字符串里删除重复出现的字母的问题
只看楼主
H_J_Huang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-10-9
得分:0 
#include<stdio.h>

int main(void)
{
    char str[10]={'\0'};
    char *ch;
    int i;
    static unsigned short letter[26]={0};

    printf("input a string :");
    scanf("%s",str);
    ch=str;
    while(*ch!='\0')
    {
        if(letter[*ch-'a']==0)
        {
            letter[*ch-'a']=1;
        }
        else
            *ch='\0';
        ch++;
    }
    for(i=0;i<10;i++)
        if(str[i]!='\0')
            putchar(str[i]);
    putchar('\n');
    getchar();
    return 0;
}
2013-10-11 11:28
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
得分:0 
# include <stdio.h>
void main ( )
{
    char s[10];
    int i,j,n,m;
   
    printf("input a string :");
    scanf("%s",s);

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

    {
        if(s[i]!='\0')
            n=s[i]-'a';
        for(j=i+1;j<10;j++)
        {   m=s[j]-'a';
            if(m==n )
            s[j]=s[j+1];
        }
    }
    for(i=0;i<10;i++)
       if(s[i]=='\0')
           break;
       else
        printf("%c",s[i]);
       printf("\n");


}

。。。。。。。。。。。
2013-10-11 12:00
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
得分:0 
其实一层循环就可以搞定,如果字符串比较长的话可以提高效率。
程序代码:
#include<stdio.h>


int main()
{
    char check[127] = {0};
    char inString[1024]={0};
    char ret[100] = {0};
   
    int i = 0,k = 0;

    printf("Please input the string:");
    scanf("%s",inString);

    for(; inString[i] ; i ++)
    {
        check[inString[i]] ++;
        if(check[inString[i]] == 1)
        {
            ret[k ++] = inString[i];
        }
    }

    puts(ret);

    return 0;
}

//可能数组占一点的空间,如果只要求删除重复字符,而没有要求按原来顺序的话,可以不用ret数组
//如果直接输出,没有要求保存删除的结果的时候,也可以不用ret数组,直接输出



有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-10-11 16:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421637-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.208856 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved