/*---------------------------------------------------------
【程序设计】程序将正整数转换成8421码(又称BCD码)形式的字符串。8421码的编码规则是:
两位10进制正整数可以用1个字节的8421码表示,其中一位10进制整数占用4位
bit。或者说一个字节的8421编码可以表示两位10进制正整数。
例如:10进制的45,对应BCD码是01000101。
BCD码10010111对应的10进制数正整数是97。
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
Program-End之间填入若干语句。不要删除标志否则不得分。
---------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define N 4
void inttobcd(char bcd[],unsigned x)
{
int i,j,y;
char t[]="00000000";
/**********Program**********/
for (i = 2; i > 0; --i)
{
j = i * 4 - 1;
for (y = x % 10; y; y /= 2)
t[j--] += y % 2;
x /= 10;
}
/********** End **********/
strcat(bcd,t);
strcat(bcd," ");
}
int main()
{
unsigned n[N]={99,80,75,4};
char bcd[40]={0};
int i;
for(i=0;i<N;++i)
inttobcd(bcd,n[i]);
puts(bcd);
return 0;
}
06-19
3281
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交