用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
语言编写一个程序,实现一下功能:
以 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个字符串

...全文
18626 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mostideal 2005-06-02
  • 打赏
  • 举报
回复
mark
QunKangLi 2005-06-02
  • 打赏
  • 举报
回复
//数字转成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 ;
}
笑面佛_正版 2005-06-02
  • 打赏
  • 举报
回复
不就是一个38进制的问题? 容易,不过要输入这么多个字符串挺无聊的
dophin1003 2005-06-02
  • 打赏
  • 举报
回复
34进制数吗?
treeroot 2005-06-02
  • 打赏
  • 举报
回复
这个很简单吧

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧