编程题:字符串处理(字符串拷贝、字符串连接、字符串转移、大小写转换、字符串分割、)

1.字符串处理
C++

//字符串拷贝
//思路:确定被拷贝数组的内存大小是否等于目标数组内存大小
//拷贝数组
//目标数组最后一个字符为空字符'\0'

bool stringcopy(char* str1,char* str2,int len)  //指针
{
   int i=0;
   while(str1[i]!='\0')
   {
       i++;
   }
   if(i>len)
   {
    return false;
    }
   int j=0;
   while(str1[j]!='\0')
   {
      str2[j]=str[i];
      j++;
   }
   str2[j]='\0';
   return true;
}

void printf(char* str1,char* str2)   //指针
{
  cout<(将合成的字符串放入str1中)
//思路:确定str1的内存大小是否小于str2+str1-1;
//连接
//连接后的字符串最后一个为空字符'\0'

bool stringconnection(char* str1,char* str2,int len)
{
int i=0;
int j=0;
while(str1[i]!=0)    判断字符串内存大小
{
   i++;
}
while(str2[j]!=0)
{
    j++
}
if(lenlen)
{
 return false;
}
//
i=0;
while(str1[i]!='\0')
{
if(str1[i]>='A'&&str1[i]<='Z')
{
  str2[i]=str1[i]+32;
}
else
{
str2[i]=str1[i];
}
i++;
}
str2[i]='\0';
return true;
}
//
void printf(char*str1,char*str2)
{
cout<='A'&&str1[i]<='Z')
   {
    str2[i]=str1[1]|32;
   }
   else
    {
       str2[i]=str1[i];
     }
    i++;
}
   str2[i]='\0';
   return true;
}
//大写转化为小写——–>或操作符(|) 和32
// 小写转化为大写——–>且操作符(&)和95

//字符串比较大小
//思路:判断两个字符串长度
//根据长度来分别比较
//长度相同,再根据每个字符比较

int stringcompare(char* str1,char* str2)
{
   int i=0,k=0;
   while(str[i]!='\0')
   {
     i++;  
   }
   while(str2[k]!='\0')
   {
    k++;
    }
   
   if(i>k)
   {
    return 1;
   }
   else if(i

题目:给定一个字符串,根据字符串内每个字符出现的次数,按照ASCII码来重新调整字符串输出。

//输入:eeefgghhh
//输出:efghegheh

//思路:统计每个字符出现的次数,把每个字符按照ASC的自然顺序排序,如果本次输出当前字符数量为0(已经在前面用完了)则不输出这个字符
//1,2步可以用一个TreeMap实现,键值对记录每个字符的次数,同时TreeMap按照键排序(键为字符),则所得顺序正好是字符的ASCII码顺序(从小到大)

public static void solve(string str)
{
   //定义一个键值对
   Mapmap=new treemap<>();
   




}

你可能感兴趣的:(面试,C语言)