假设输出的字符数量小于100吧,首先创建一个数组arr[100]={0},再创建一个字符型变量a用来接受输入。
先scanf a作为arr[0]: scanf_s("%c", &arr[0])。
创建一个循环,不断得接收输入的字符知道接收到'\n',此时跳出循环;在每次输入一个数时,将数组前面的字符与输入字符比较,如果有重复则此次输入无效;如果没有重复则取arr[i]=a判断要不要输入可以用flag作判断依据
核心代码:
for (j = 0;j < i;j++)
{
if (arr[j] == a)
{
flag = 0;
i--;
break;
}
else
flag = 1;
}
if (flag == 1)
arr[i] = a;
i++;
最后将这个字符型数组输出
完整代码
#include<stdio.h>
int main()
{
char arr[100] = { 0 }, a;
int i = 1, j, flag = 0;
scanf("%c", &arr[0]);
while (1)
{
flag = 0;
scanf("%c", &a);
if (a == '\n')
break;
for (j = 0;j < i;j++)
{
if (arr[j] == a)
{
flag = 0;
i--;
break;
}
else
flag = 1;
}
if (flag == 1)
arr[i] = a;
i++;
}
puts(arr);
return 0;
}