Chinaunix首页 | 论坛 | 博客
  • 博客访问: 614442
  • 博文数量: 113
  • 博客积分: 2554
  • 博客等级: 少校
  • 技术积分: 1428
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-21 19:53
文章分类

全部博文(113)

文章存档

2014年(1)

2013年(2)

2012年(94)

2011年(16)

分类: C/C++

2012-04-23 21:11:23


点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>


  4. #define MAX 1024
  5. #define FOMAT_1 "a%?c"
  6. void my_sort(char input[],char output[]);
  7. void mystr(const char *,char *);
  8. void my_find(char input[],char rule[],char output[]);


  9. int main(int arc,char *argv[])
  10. {
  11.     char input[] = "25465swea546dz424Alwe2DS76575FS";

  12.     char output[MAX];
  13.     memset(output,0,MAX);

  14.     // my_sort(input,output);
  15.     //mystr(input,output);

  16. // sscanf("abcadefg","%a%",output);
  17.     my_find("breakfastfood","f*d",output);
  18.     printf("output is %s\n",output);

  19.     return 0;
  20. }

  21. void my_find(char input[],char rule[],char output[])
  22. {
  23.     int i,j,k,index;

  24.     int len = strlen(input);
  25.     if(rule[1] == '?')
  26.     {
  27.         for(i=0; i<len; i++)
  28.         {
  29.             if(input[i]==rule[0] && input[i+2]==rule[2])
  30.             {
  31.                 for(j=0; j<3; j++)
  32.                 {
  33.                     output[j] = input[i++];
  34.                 }
  35.             }

  36.         }
  37.     }
  38.     else
  39.     {
  40.         for(i=0; i<len; i++)
  41.         {
  42.             if(input[i] == rule[0])
  43.             {
  44.                 for(j=len; j>0; j--)
  45.                 {
  46.                     if(input[j] == rule[2])
  47.                     {
  48.                          break;
  49.                     }
  50.                 }
  51.                 break;
  52.             }

  53.         }
  54.         int len_r =j-i;
  55.         for(k=0; k<len_r+1; i++,k++)
  56.             output[k] = input[i];
  57.     }
  58. }

  59. void mystr(const char *input,char *output)
  60. {
  61.     int input_len = strlen(input);

  62.     int i = 0;

  63.     for(; i<input_len; i++)
  64.     {
  65.         if(input[i]>='a' && input[i] <='z')
  66.             output[i] = input[i] - 32;
  67.         else
  68.             output[i] = input[i];
  69.     }

  70. }

  71. void my_sort(char input[],char output[])
  72. {
  73.     int i,j,temp;

  74.     int len = strlen(input);

  75.     for(i=0; i<len; i++)
  76.     {
  77.         if(input[i]<'A')
  78.         {

  79.             for(j=i+1; j<len; j++)
  80.             {
  81.                 if(input[j]<input[i])
  82.                 {
  83.                     temp = input[i];
  84.                     input[i] = input[j];
  85.                     input[j] = temp;
  86.                 }
  87.             }
  88.             output[i] = input[i];
  89.         }
  90.         else
  91.         {
  92.             output[i] = input[i];
  93.         }
  94.     }
  95. }

阅读(3440) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~