标题:C語言 還有其他方式 做出 刪除重複?
只看楼主
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 19楼 xzlxzlxzl
我目前想搞清楚這段條件判斷
          if(B[A[i]]==0)
          {
            B[(A[i])]++;
語法如何拆解還是只能這樣寫呢...?
2018-04-21 22:53
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 19楼 xzlxzlxzl
其实直接每扫描一个直接删去后面所有重复的这样效率会不会高一点呢,不过看上去都是差不多的感觉~

程序代码:
#include<stdio.h> 
#include<stdlib.h> 
main() 
{ 
    char A[100]; 
    int i,j,k; 
    printf("input:"); 
    gets(A);
    for(i=0;A[i];i++)
    {
        for(j=k=i+1;A[k];k++)
            if(A[k]==A[i])
                continue;
            else
                A[j++]=A[k];   
                               
        A[j]=0;              
    }

    puts(A); 
    system("pause"); 
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-21 23:04
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 21楼 adssc
if (B[A[i]]==0)
    B[A[i]]=1;

A[i]就是那个ASCII码的值,同时也是正在检索的那个字符的值,感觉用0和1来表示相对于++而言会直观一点~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-21 23:11
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 23楼 九转星河
所以大大,這段條件判斷 if (B[A[i]]==0)
                      {
                         B[A[i]]=1;

B[A[i]]==0 和  B[A[i]]=1; 能有其他的寫法嗎?還是只能這樣?  勞煩大大
2018-04-22 12:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 24楼 adssc
有,可以 int c=A[i];B[c]=1
~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-22 12:56
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 25楼 九转星河
不懂意思  深奧
2018-04-22 13:22
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 26楼 adssc
所以会简单就可以了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-22 14:13
adssc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:61
专家分:32
注 册:2018-4-20
得分:0 
回复 27楼 九转星河
我們要追求真理
2018-04-22 15:02
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 28楼 adssc
那可以慢慢看,说不定什么时候就明白了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-22 15:21
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
我暂时只会这种写法了,或者你想到有什么更好的方法也不一定
关键还是要理解才行~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-04-22 15:42



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




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

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