str1[100],str2[100]char
*mystrcat(char
*s,char
*ct)
//字符串连接
{
while(*(s++))
s--
while(*ct)
*(s++)
=
*(ct++)
return
s
}char
*mystrcpy(char
*s,char
*ct)
{
while(*(s++)=*ct,*(ct++))
return
s
}int
mystrcmp(char
*s,char
*ct)
{
while(*s
&&
*ct)
{
if(*(s++)
==
*(ct++))
continue
else
return
*(s-1)-*(ct-1)
}
return
0
}int
mystrlen(char
*s)
{
int
length
=
0
while((length++,*s++))
return
length-1
}char
*mystrsort(char
*s)
{
int
i,j,length
=
mystrlen(s)
char
t
for(i
=
0i
<
lengthi++)
for(j
=
0j
<
length-i-1j++)
{
if(s[j]
>
s[j+1])
{
t
=s[j]
s[j]
=
s[j+1]
s[j+1]
=
t
}
}
return
s
}int
mystrfind(char
*s,char
ch)
{
int
index
=
0
while(*s)
if(index++,*s
==
ch)
return
index
return
-1
}void
menu()
{
int
choose
=
1
char
ch
while(choose
!=
0)
{
printf("\n1.字符串连接\n2.拷贝\n3.比较\n4.求字符串长度\n5.对字符串内字符进行排序\n6.查找字符串中某个字符是否存在\n0.退出\n")
scanf("%d",&choose)
switch(choose)
{
case
1:printf("输入2字符串:\n")
scanf("%s%s",str1,str2)
mystrcat(str1,str2)
printf("连接后的字符串:%s\n",str1)
break
case
2:printf("输入要拷贝的字符串:\n")
scanf("%s",str2)
mystrcpy(str1,str2)
printf("拷贝的字符串:%s\n",str1)
break
case
3:printf("输入要比较的2字符串:\n")
scanf("%s%s",str1,str2)
printf("%d\n",mystrcmp(str1,str2))
break
case
4:
printf("输入要求长度的字符串:\n")
scanf("%s",str1)
printf("长度为:%d\n",mystrlen(str1))
break
case
5:
printf("输入要求排序的字符串:\n")
scanf("%s",str1)
mystrsort(str1)
printf("排序后:%s\n",str1)
break
case
6:printf("输出字符串:\n")
scanf("%s",str1)
printf("输入要查找的字符:\n")
scanf("%c",&ch)
scanf("%c",&ch)
printf("ch所在位置为%d\n",mystrfind(str1,ch))
}
}
}int
main()
{
menu()
return
0
}