0

我要从用户那里获得输入并删除除大写字母之外的所有内容。但是我不想要重复的大写字母。到目前为止,我遇到的唯一问题是删除重复项。

这是对字母进行排序并仅将我想要的字母放入新数组的代码。

        placer=0;
  for (a = 0 ; a < ( strlen(regular) - 1 ); a++)
  {
    for (placer = 0 ; placer < strlen(regular) - a - 1; placer++)
    {
      if (regular[placer] > regular[placer+1]) 
      {
        swap              = regular[placer];
        regular[placer]   = regular[placer+1];
        regular[placer+1] = swap;
      }
    }
  }
printf("regular: %s\n", regular);     // this prints exactly as it is supposed to
    placer=0;
    for (a=0; a<strlen(regular); a++){
       if (regular[a] != regular[a+1]){
        alpha[placer] == regular[a];
        placer++;
       }
    }
printf("alpha: %s\n", alpha);        // this does not

就目前而言,数组 alpha 将出于未知原因不接受任何字符。每次我尝试打印它时,它都会打印垃圾。

只是为了澄清:

char regular[81+1]="\0", alpha[26];

那是2个数组的声明。

任何帮助,将不胜感激。

4

1 回答 1

0

您将 alpha[placer] = regular[a]; 中的“==”误认为是“=”。

所以这应该是

alpha[placer] = regular[a]; 
于 2013-10-26T18:42:53.987 回答