这是约德尔测试那道题为什么编译不能通过
发布于 2017-05-11 20:15 1257 次浏览 0 赞 来自 我要提问  

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char  *Input(char *s)

{

s = (char *)malloc(1000*sizeof(char));

scanf("%s",s);

return s;

}

char *Change(char *s)

{


int len;

int i = 0;

len = strlen(s);

for(int i=0;i<len;i++)

{

if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))

{

s[i] = '1';

}

else

{

s[i] = '0';

}

}

return s;

}

char *Blackham(char *s)

{

s = (char *)malloc(1000*sizeof(char));

scanf("%s",s);

return s;

}

void Free(char *s)

{

free(s);


}

void Equal(char *s,char *p)

{

int len;

float flag = 0;

len = strlen(s);

float a = 0;

for(int i = 0;i<len;i++)

{

if(s[i] == p[i])

{

flag++;

}

else

;

}

a =  flag/len*100.0;

printf("%.2f%%",a);


}

void main()

{

char *s = NULL;

char *p = NULL;

char *q = NULL;

char *r = NULL;

p = Input(s);

q = Change(p);

r = Blackham(s);

Equal(q,r);

Free(q);

Free(r);

system("pause");

}


添加回复
回到顶部