编程实现对字符串的基本处理
(不能使用strcat、strcpy、strcmp、strlen、strlwr、strupr函数)
从键盘输入三行字符串,实现以下操作:
1)按从大到小的顺序输出这三行字符串
2)根据提示将这三行字符串中的任意两行字符进行连接
3)根据提示将任意一串字符串中的大写转换成小写或小写转换成大写
刚学C!~明天就要交作业!~不交又挂科了!~求求哪个好心人帮忙做下这题.
知道很简单,但是我只会用函数弄!~不用就弄不来!~高手帮下忙嘛!~!
我觉得那个字符串大小不是长度是问题。。。。字符串可以比较大小的。。。按ASCII码。。。。例如 "a">"ABDDD"
我来帮你写吧、圣诞大家开心、、、我只写处理函数。。。main你自己写吧。。。很简单的。。。调用下就可以了
第一题:字符串大小问题。。。
int compare(char *p,char *q) /*判断两个字符串大小,前面大返回1,后面大返回-1,相等返回0 */
{while(*p!='\0'&&*p!='\0')
{if(*(p++)>*(q++))
{return 1;
break;
}
else if(*(p-1)==*(q-1))
continue;
else
{return -1;
break;
}
}
if(*p=='\0'&&*q!='\0')
return -1;
else if(*p!='\0'&&*q=='\0')
return 1;
else return 0;
}
这个函数相当于strcmp的功能。。。
第二题:
void cat(char *p,char *q)
{int i=0;
while(*p++!='\0')
i++;
while(*q++!='\0')
*(p++-1)=*q;
*p='\0';
}
这个相当于strcat的功能,连接字符串
第三题:
void change(char flag,char *p)
{if(flag=='B') /*小写换成大写*/
while(*p!='\0')
{if(*p>='a'&&*p<='z')
*p=*p-32;
p++;
}
else if(flag=='S') /*大写换小写*/
while(*p!='\0')
{if(*p>='A'&&*p<='Z')
*p=*p+32;
p++;
}
else printf("ERROE\n"); /*参数传递错误*/
}
我写了这三个函数可以实现那几个功能函数的功能。。。。main()你自己写吧。。。
[此贴子已经被作者于2006-12-25 13:35:35编辑过]