题样:


int my_strlen(const char*str){
int count=0;
//assert(str !=NULL);
while(*str !='\0'){
count++;
str++;
}
return count;
}
char* my_strcpy(char* dest,const char* src){
char*ret=dest;
// assert(dest!=NULL);
// assert(src!=NULL);
while(*dest++=*src++){
;
}
return ret;
}
void clear_032(char arr[]){
int len=my_strlen(arr);
int i=0,j=0;
for(i=0;i<len;i++){
if(arr[i]==' ')arr[i]='\0';
}
//全部空格变‘\0’end
char s[100]={0};
for(i=0,j=0;i<len;i++){
if(arr[i]!='\0'){
s[j]=arr[i];
j++;
}
}
s[j]='\0';
//整理存放在s
my_strcpy(arr,s);
}
void clear_repeat(char arr[]){
int len=my_strlen(arr);
int i=0,j=0;
char ch='0';
for(i=0;i<len;i++){
ch=arr[i];
for(j=i+1;j<len;j++)if(arr[j]==ch)arr[j]='\0';
}
//数组中只含有效字符与‘\0’
char s[100]={0};
for(i=0,j=0;i<len;i++){
if(arr[i]!='\0'){
s[j]=arr[i];
j++;
}
}
s[j]='\0';
//整理存放在s
my_strcpy(arr,s);
}
void my_order(char arr[]){
int i=0,j=0,len=my_strlen(arr);
char ch='0';
for(i=0;i<len-1;i++){
for(j=0;j<len-i-1;j++){
if(arr[j]>arr[j+1]){
ch=arr[j];
arr[j]=arr[j+1];
arr[j+1]=ch;
}
}
}
//冒泡结束
}
void dele(char arr[]){
int len=my_strlen(arr);
clear_032(arr);
clear_repeat(arr);
my_order(arr);
}
//[]~( ̄▽ ̄)~*
本文介绍了C语言实现的字符串长度计算、复制、清除空格、去除重复字符及冒泡排序的方法。通过`my_strlen`、`my_strcpy`、`clear_032`、`clear_repeat`和`my_order`等函数展示了基础的字符串操作,适用于字符串预处理和排序需求。

359

被折叠的 条评论
为什么被折叠?



