C语言字符串比较问题(不能用string.h)

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:52:36
int str(char *source,char *dest)
写一个函数,当两个字符串相同时返回1,否则返回0.(不能使用字符串库函数).
还有一个问题:
有1,2,3,4四个整型数,编写程序打印出用这四个数能排列出来的所有的三位数,个十百位不许重复.
请各位高手帮忙啦.
这两道题是东软的招聘题,是最新的
两道都回答出来的给分啊
希望是同一个人

int str(char * source,char * dest)
{
char * ptr = source;
int len1,len2;
len1 = len2 = 0;
while(*ptr++ != '\0')
len1++;
ptr = dest;
while(*ptr++ != '\0')
len2++;
if(len1 == len2)
while(*source++ == *dest++ && *(source-1) !='\0');
if(*source == '\0')
return 1;
return 0;
}

第二题:
void printNum(int nCur,int * curArray,int nPre,int *preArray)
{
int i,j,k;
//递归思想:
//1:选择nCur个元素中的第i个放在最前
//2:由前面递归中已经组好的元素和由第1步选择的元素组成预先打印的数组
//3:由nCur个元素中除第i个以外的元素组成剩余数组
//4:打印预先打印的数组
//5:用剩余数组递归调用
for(i=0;i<nCur;i++)
{
//构造由剩余元素(curArray中除第i个元素)组成的remainArray
int * remainArray = new int[nCur-1];
for(j=0,k=0;j<nCur;j++)
if(j!=i)
remainArray[k++] = curArray[j];

//构造下一次递归调用的预先打印的数组
int * prePrint = new