700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言 定义函数妇女 判定整数n 【详解】C语言:编写一个函数itob(int n char s

C语言 定义函数妇女 判定整数n 【详解】C语言:编写一个函数itob(int n char s

时间:2020-03-04 08:42:19

相关推荐

C语言 定义函数妇女 判定整数n 【详解】C语言:编写一个函数itob(int n char s

#include

voiditob(intn,chars[],intb)

{

inti=1;

for(;i<=32;i++)//共循环了32次,保证得到32位的二进制数

{

s[i-1]=n%b;//数组是从编号0开始的,一直到编号31结束

n=n/b;//用模除的方法依次得到每位进制数

}

for(i=32;i>0;i--)

{

printf("%d",s[i-1]);

}

}

intmain()

{

charret[32];

chars[32];

intn=0;

scanf("%d",&n);

itob(n,s,2);//此时进制b=2

return0;

}

经过深层次的学习,我将此题又做进一步的修改与完善,解决了任意进制输出的效果,并且每次输出不需要32位全部输出,而是具体情况需要几位二进制就输出几位数。代码如下:#include

voidreverse(intlen,chararr[])//逆置输出正确的进制位

{

intleft=0;

intright=len-1;

while(left

{

chartemp=arr[left];//a[0]与最后一个互换

arr[left]=arr[right];

arr[right]=temp;

right--;

left++;

}

}

voiditob(intnum,chars[],intb)

{

inti=0;

while(num)

{

if(b<10)

{

s[i]=num%b+'0';//得到int型

num/=b;//用模除的方法依次得到每位进制数

i++;

}

elseif(b==16)

{

s[i]="0123456789abcdef"[num%16];

num/=16;

i++;

}

else

{

break;

}

}

s[i]='\0';

reverse(i,s);

}

intmain()

{

chars[32];

intb=0;

scanf("%d",&b);

itob(255,s,b);//此时进制b可以任意输入

printf("%s\n",s);

return0;

}

C语言 定义函数妇女 判定整数n 【详解】C语言:编写一个函数itob(int n char s[] int b) 将整数n转换为以b进制的数。保存到s中。...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。