我正在尝试创建一个程序来检查命令行参数字符串中的重复字符。该字符串假设仅包含 26 个字符,并且所有字符都必须是字母。但是,字符串中不能有任何重复的字符,每个字母字符只能出现一次。我弄清楚了程序的前两个部分,但我不知道如何检查重复的字符。我真的可以使用一些帮助和解释。
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main (int argc, string argv[])
{
if (argc != 2)
{
printf("Usage: ./substitution key\n");
return 1;
}
else
{
int len = strlen(argv[1]);
if (len != 26)
{
printf("Key must contain 26 characters.\n");
return 1;
}
else
{
for (int i = 0; i < len; i++)
{
if (!isalpha(argv[1][i]))
{
printf("Usage: ./substitution key\n");
return 1;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)