输入一个十进制正整数,将其转换成二进制、八进制、十六进制数输出

1、形参采用指针
None.gif #include  " stdio.h "
None.gif#include 
" conio.h "
None.gif#include 
" string.h "
None.gif
void  main()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
int i,radix;
InBlock.gif    
long n;
InBlock.gif    
char a[33];
InBlock.gif    
void trans10_2_8_16(char *p,long m,int base);
InBlock.gif    printf(
"\nInput radix(2,8,16):");
InBlock.gif    scanf(
"%d",&radix);
InBlock.gif    printf(
"\nInput a positive integer:");
InBlock.gif    scanf(
"%ld",&n);
InBlock.gif    trans10_2_8_16(a,n,radix);
InBlock.gif    
for(i=strlen(a)-1;i>=0;i--)
InBlock.gif        printf(
"%c",*(a+i));
InBlock.gif    puts(
"\n");
InBlock.gif    getch();
ExpandedBlockEnd.gif}

None.gif
None.gif
void  trans10_2_8_16( char   * p, long  m, int   base )
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
int r;
InBlock.gif    
while(m>0)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        r
=m%base;
InBlock.gif        
if(r<10*p=r+48;
InBlock.gif        
else *p=r+55;
InBlock.gif        m
=m/base;
InBlock.gif        p
++;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
*p='\0';
ExpandedBlockEnd.gif}

2、形参采用数组
None.gif #include  " stdio.h "
None.gif#include 
" conio.h "
None.gif#include 
" string.h "
None.gif
void  main()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
int i,radix;
InBlock.gif    
long n;
InBlock.gif    
char a[33];
InBlock.gif    
void trans10_2_8_16(char a[],long m,int base);
InBlock.gif    printf(
"\nInput radix(2,8,16):");
InBlock.gif    scanf(
"%d",&radix);
InBlock.gif    printf(
"\nInput a positive integer:");
InBlock.gif    scanf(
"%ld",&n);
InBlock.gif    trans10_2_8_16(a,n,radix);
InBlock.gif    
for(i=strlen(a)-1;i>=0;i--)
InBlock.gif        printf(
"%c",*(a+i));
InBlock.gif    puts(
"\n");
InBlock.gif    getch();
ExpandedBlockEnd.gif}

None.gif
None.gif
void  trans10_2_8_16( char  a[], long  m, int   base )
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
int r;
InBlock.gif    
while(m>0)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        r
=m%base;
InBlock.gif        
if(r<10*a=r+48;
InBlock.gif        
else *a=r+55;
InBlock.gif        m
=m/base;
InBlock.gif        a
++;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
*a='\0';
ExpandedBlockEnd.gif}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值