AppleBJTU 发表于 2017-12-11 17:45:18

指针与字符串的问题

#include <stdio.h>
#include <string.h>
char app(char *a,char *b,int n)
{
        int i,j,flag = 0;
        for(i = 0; i < n; i++)
        {
                if(flag = 0)
                {
                        for(j = 0; j < n; j++)
                        {
                                if(*(a+i) == *(b+j))
                                {
                                        flag = 0;       
                                }
                                else flag = 1;
                                       
                        }
                }
                else
                return 1;
        }
}
int main()
{
        char a1,b1;
        char *a = a1,*b = b1;
        printf("请输入第一串字符:");
        scanf("%s",a);
        printf("请输入第二串字符:");
        scanf("%s",b);
        app(a,b,strlen(a));
        if(app(a,b,strlen(a)) == 0)
        {
                printf("可以重排得到");
        }
        else if (app(a,b,strlen(a)) == 1)
        {
                printf("不能重排得到");
        }
        return 0;
}

题目如下:
写一个函数(自定义),它判断一个字符串是否可以通过另一个字符串重排得到。

我输出的结果不管怎么输都是不能得到{:10_250:} 改了好几次,要么又是每一次都是可以得到。。。{:10_250:} ,我觉得是不是函数哪里出了问题。。求解释。

BngThea 发表于 2017-12-11 18:28:18

判断逻辑不对,你要弄清楚重排是指的什么,用语言描述准确,再用代码实现

AppleBJTU 发表于 2017-12-11 18:44:11

BngThea 发表于 2017-12-11 18:28
判断逻辑不对,你要弄清楚重排是指的什么,用语言描述准确,再用代码实现

就是两字符串中所含的单个字符都相同吧。

BngThea 发表于 2017-12-11 18:58:06

AppleBJTU 发表于 2017-12-11 18:44
就是两字符串中所含的单个字符都相同吧。

god和good?

AppleBJTU 发表于 2017-12-11 21:21:53

BngThea 发表于 2017-12-11 18:58
god和good?

..那请问应该怎么改啊

BngThea 发表于 2017-12-12 07:04:39

AppleBJTU 发表于 2017-12-11 21:21
..那请问应该怎么改啊

先判断长度是否一致
页: [1]
查看完整版本: 指针与字符串的问题