首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问有关问题

2012-03-28 
请教问题?题目是这样的:比较两个字符串,删除相同单元后,连接?我自己写的代码,但是不能实现删除相同的字符

请教问题?
题目是这样的:比较两个字符串,删除相同单元后,连接?
我自己写的代码,但是不能实现删除相同的字符常量?不知道哪出错了?大家给看下哈~
#include   <stdio.h>
#include   <string.h>

int   main   (void)

{
      char   a[90],b[90];                         /*定义字符数组*/
      int   x,s;                                           /*定义变数器*/
      printf   ( "input   a: ");
      scanf   ( "%s ",a);                             /*输入第一个字符串*/
      printf   ( "input   b: ");
      scanf   ( "%s ",b);                             /*输入第二个字符串*/
      for   (x=0;x <a[sizeof   (a)];x++)
      {
            for   (s=0;s <b[sizeof   (b)];s++)
            {
                  if   (a[x]==b[s])                 /*比较数组元素*/
                  {
                        a[x]=0;                           /*元素置0*/
                        b[s]=0;                           /*元素置0*/
                  }
            }
      }
      strcat   (a,b);                                 /*连接2个字符串*/
      printf   ( "%s ",a);                           /*输出连接后的字符串*/
      getch   ();
      return   (0);
}


[解决办法]
如果是那样的可以考虑这样写下;
for (x=0;x <strlen(a);x++)
{
for (s=0;s <strlen(b);s++)
{
if (a[x]==b[s]) /*比较数组元素*/
{
a[x]=0; /*元素置0*/
b[s]=0; /*元素置0*/
}
}
}
for (x=0;x <strlen(a);x++)
if ( a[x] != '0 ' )
printf( "%c ", a[x] );
for (s=0;s <strlen(b);s++)
if ( a[s] != '0 ' )
printf( "%c ", a[s] );

热点排行