c语言删除重复字符pta

c语言删除重复字符pta

问:如何删除重复字符c语言
  1. 答:#include<stdio.h>
    int main(void)
    {
    char s[100];
    int i, j, n, k;
    printf("请输入一串有重复字符的字符串:\n");
    gets(s);
    for (n = 0; s[n] != '\0'; n++);
    for (i = 0; i < n ; i++)
    {
    for (j = k = i + 1; j < n ; j++)
    if (s[j] != s[i])
    s[k++] = s[j];
    s[k] = '\0';
    }
    printf("去掉重复字符后结果为:\n");
    puts(s);
    }
问:c语言字符串怎么去除重复的字符
  1. 答:程序的基本思路是把输入漏猜的字符串放到a[100]字符组中,然后把a[100]中所有不重复的字符添加到b[100]中,间接完成对字符串中的重复字符的删除
问:纠错:C语言:删除重复字符。
  1. 答:没注释, 还不如重新写一个
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    char Letter[80];      //用于接收输入字符串 
    int result[128]={0};  //相当于一张空的ASCII码表 
    gets(Letter);          
    int size=strlen(Letter);
    int i,j=0;
    for(i=0;i<size;i++)      //该循环好比 
    {                        //字符串中的每个字符在空ASCII码表中打勾 
    result[Letter[i]]=1;
    }
    memset(Letter,'\0',80);  //重置为空字符串 
    for(i=0;i<128;i++)       //检索ASCII码表,逐个写入字符数组中 
    {
    if(result[i]==1)     //只要ASCII码表中打了勾的字符,就写入数组 
    {
    Letter[j++]=i;
    }
    }
    printf("\n%s",Letter);
    return 0;
    }
  2. 答:#include <stdio.h>
    #include <string.h>
    int main(){
    char Letter[128]={0};
    char deleter[128]={0};
    gets(Letter);
    int k=0;
    for(int i=0; i<strlen(Letter); i++)
    for(int j=0; j<strlen(Letter); j++)
    if(i!=j)
    if(Letter[i]==Letter[j]) break;
    else if(j==strlen(Letter)-1)deleter[k++]=Letter[i];
    //对deleter排序代码
    puts(deleter);
    return 0;
    }
c语言删除重复字符pta
下载Doc文档

猜你喜欢