CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

用C语言编写一个程序,实现一下功能以 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z 这34个字符为从小到大的顺

楼主zqh139(郑)2005-06-02 10:38:21 在 C/C++ / C语言 提问

语言编写一个程序,实现一下功能:  
          以   0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z   这34个字符为从小到大的顺序.编写一个四位数的字符串列表,比如:  
   
  输入要得到的字符串个数:38,就要得到      
   
  0001     0002     0003     0004     0005     0006     0007     0008     0009     000A     000B     000C     000D     000E     000F     000G     000H     000J     000K  
   
  000L     000M     000N     000P     000Q     000R     000S     000T     000U     000V     000W     000X     000Y     000Z     0010     0011     0012     0013  
   
  .这38个字符串  
   
     
   
  如果输入1156,则得到:  
   
  0001     0002   …….00ZY     00ZZ  
   
  这1156个字符串  
   
  问题点数:0、回复次数:5Top

1 楼treeroot(旗鲁特)回复于 2005-06-02 10:40:11 得分 0

这个很简单吧Top

2 楼dophin1003(浮云~~~)回复于 2005-06-02 11:02:48 得分 0

34进制数吗?Top

3 楼wgjmail(笑面佛)回复于 2005-06-02 11:05:17 得分 0

不就是一个38进制的问题?   容易,不过要输入这么多个字符串挺无聊的Top

4 楼QunKangLi(心里面疼得有点发酸 一定是有雾来了 打湿了我的眼眶)回复于 2005-06-02 11:16:34 得分 0

//数字转成N进制的字符串。  
  //使用方法:value为输入的数值,string为结果缓冲区,radix为结果数制  
  //对楼主的特定问题要对代码做些改动:将CH[]中未用到的2个字符删除:  
  //static   char   CH[]   =   "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"   ;  
  //然后用个循环for(   int   i   =   0   ;   i   <   num   ;   ++i   )   printf(   "%s\t",   itoa(   i,   buf,   34   )   ;  
  //其中num为用户输入的数字,buf为结果缓冲区  
   
  char   *itoa(   int   value,   char   *string,   int   radix   )    
  {  
    static   char   CH[]   =   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"   ;  
    char   *p,   *r,   t   ;  
  /*assert(   radix   >=   2   &&   radix   <=   36   )   ;     */  
   
    r   =   string   ;  
    if(   value   <   0   )   *string++   =   '-',   value   =   -value   ;  
    else   if(   value   ==   0   )   *string++   =   CH[0]   ;  
    p   =   string--   ;  
    while(   value   >   0   )   *p++   =   CH[value   %   radix],   value   /=   radix   ;  
    *p   =   '\0'   ;  
    while(   ++string   <   --p   )   t   =   *string,   *string   =   *p,   *p   =   t   ;  
    return   r   ;  
  }Top

5 楼mostideal(三甲)回复于 2005-06-02 23:47:37 得分 0

markTop

相关问题

  • 怎样理解Color c=Color.FromArgb(r,g,b);其中r,b,g为int值
  • C/S OR B/S
  • b/s,c/s
  • C\S ====> B\S
  • C/S------------->B/S
  • 如何提取"a$b$ c$d$e f$ga$b$ c$d$e f$ga$b$ c$d$e f$g..."中两个"$"内的内容
  • J 与 C++
  • 请教!c/s -> b/s
  • 请教!c/s -> b/s
  • AB=AC->B=C?

关键词

  • 字符
  • 字符串
  • 输入
  • 编写一个
  • 得到

得分解答快速导航

  • 帖主:zqh139

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo