c++字符数组题怎么敲

 

1 字符串反转

char* strrev1(const char* str)
{
   const size_t length = strlen(str);//求字符长度
   char *temp = new char[length];//新建一个等长度的字符数组
   strcpy(temp,str);//字符串拷贝
   for (size_t i = 0; i <= length/2; ++i)//对字符数组中的字符反转,循环执行条件为标识小于或等于字符长度一半
   {
      char c = temp[i];
      temp[i] = temp[length - i -1];
      temp[length - i -1] = c;
   }
   return temp;//返回反转后的字符
}

2 统计字符

  1. #include <stdio.h>
     
    int main()
    {
        char c;
        int letter = 0, 
        space = 0,
        digital = 0, 
        others = 0;
        printf("输入字符:");
        while ((c=getchar()) != '\n')/*;*/ {//<==== while条件后多一个分号
            if (c >= 'a'&&c<='z' || c>='A'&&c <= 'Z')
                letter++;
            else if(c == ' ')
                space++;
            else if(c >= '0'&& c<= '9')
                digital++;
            else
                others++;
        }
        printf("统计结果:\n英文结果:%d\n空格结果:%d\n数字结果%d\n其他结果:%d\n", letter, space, digital, others);
        return 0;
    }