输入一行字符删去其中的重复字符输出

假设输出的字符数量小于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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值