zoukankan      html  css  js  c++  java
  • 面试例题1:字符串的排序及交换

    面试例题:字符串的排序及交换。

    考点:字符串综合编程能力。

    出现频率:★★★

    编写一个函数,首先将一条字符串分成两部分,前半部分按ASCII码升序排序,后半部分不变,(如果字符串是奇数则中间的字符不变)其次将前后两部分交换,最后输出该字符串。测试字符串"ADZDDJKJFIEJHGI"。

    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. void mysort(char *str,int num)
    4. {
    5.  int i,j;
    6.  int temp=0;
    7.  for(i=0;i<num;i++)
    8.  {
    9.   for(j=0;j<num-i;j++)
    10.   {
    11.    if(str[j]<str[j+1])
    12.    {
    13.     temp=str[j];
    14.     str[j]=str[j+1];
    15.     str[j+1]=temp;
    16.    }
    17.   }
    18.  }
    19. }
    20. char *foo(char *str)
    21. {
    22.  int len=0;
    23.  char *start=NULL;
    24.  if(str==NULL) {return NULL;}
    25.  start=str;
    26.  while(*str++);
    27.  len=str-start-1;
    28.  len=len/2;
    29.  str=start;
    30.  mysort(str,len);
    31.  return str;
    32. }
    33. int main()
    34. {
    35.  char string[] = "ADZDDJKJFIEJHGI";
    36.  
    37.  printf("before transformation: %s ", string);
    38.  foo(string);
    39.  printf("after transformation: %s ", string);
    40.  
    41.  return 0;
    42. }
  • 相关阅读:
    IO流
    异常,File,递归,IO流
    Collection接口 map
    使用canvas画出的时钟
    js对象2
    js对象
    js 猜数游戏、斗地主发牌、伪数字
    js函数2
    js函数
    js矩形,数组,杨辉三角
  • 原文地址:https://www.cnblogs.com/fuyanan/p/3335068.html
Copyright © 2011-2022 走看看