真心求教,有没有C语言大神

如题所述

    输入一个以回车结束的字符串 (少于80
    个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。



    OK:输入一个以回车结束的字符串 (少于80个字符),滤去所有的非十六进制字符后,组成一个新字符串
    U need do it yourself:然后将其转换为十进制数后输出。



    fdump@fdump-HEX ~ $ cat arrayin.c
    #include <stdio.h>
    #define MAX_LIMIT 80
    int main(int argc,char *argv[])
    {  
      //-----------------------
      int i=0,k=0,n=0;
      char str_org[MAX_LIMIT],str_new[MAX_LIMIT];
      char *p_org=str_org,*p_new=str_new;

      //-----------------------complex input
      printf("Input a orginal string:");
      while((str_org[i]=getchar()) != '\n')
      {
        i++;
      }
      str_org[i]="\0";

      //-----------------------check the input info
      printf("#### %s\n",str_org);

      //-----------------------simple input
      for(i=0;*(p_org+i)!='\0';i++)
      {
        if((*(p_org+i)>='0' && *(p_org+i)<='9') ||
           (*(p_org+i)>='a' && *(p_org+i)<='f') ||
           (*(p_org+i)>='A' && *(p_org+i)<='F') )
        {
          *(p_new+k)=*(p_org+i) ;
          k++;
        }
      }
      *(p_new+k)='\0' ;

      //-----------------------check the new string
      printf("#### %s\n",str_new);

      return 0;
    }
    fdump@fdump-HEX ~ $ 
    fdump@fdump-HEX ~ $ ./out
    Input a orginal string:zx1?ma0kbq
    #### zx1?ma0kbq
    #### 1a0b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-10
你用Code vision AVR编写程序如何?用向导生成大部分代码,剩下的自己写就不容易出错了。
相似回答