注册 登录
编程论坛 C语言论坛

错在哪

蒟蒻 发布于 2019-11-17 15:30, 1783 次点击
输入字符串s和t(串长不超过80个字符),将在字符串s中出现,但未在字符串t中出现的字符组成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符,输出u。

例如:当s="112345",t="2467"时,u="1135"。

输入:
  第一行为串s
  第二行为串t

输出:

      串u


    #include <stdio.h>      
    #include <stdlib.h>      
    #include <string.h>        
         
        int main(int argc, char *argv[]) {      
            char a[100],b[100],c[100];      
            int s1,s2,s3;      
            gets(a);      
            gets(b);      
            s1=strlen(a);      
            s2=strlen(b);      
         
           int i1;  
           int i2;   
           int i3=0;  
           int count;     
            for(i1=0;i1<s1;i1++){  
                count=0;  
                for(i2=0;i2<s2;i2++){  
                    if(a[i1]==b[i2]){  
                        count=1;  
                    }  
                }  
                if(count==0){  
                    c[i3]=a[i1];  
                    i3++;  
                }  
              
            }  
              
            puts(c);  
              
            return 0;   
              
    }
3 回复
#2
纯蓝之刃2019-11-17 15:40
你为什么说错了,你那里什么现象?我这看挺好的啊
只有本站会员才能查看附件,请 登录
#3
自学的数学2019-11-17 16:52
代码没问题,很正常滴。
#4
rjsp2019-11-18 09:11
puts(c);
puts 要求参数是一个以 '\0' 结尾的字符串
1