/*---------------------------------------------------------
【程序设计】程序将正整数转换成8421码(又称BCD码)形式的字符串。8421码的编码规则是:
两位10进制正整数可以用1个字节的8421码表示,其中一位10进制整数占用4位
bit。或者说一个字节的8421编码可以表示两位10进制正整数。
例如:10进制的45,对应BCD码是01000101。
BCD码10010111对应的10进制数正整数是97。
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
Program-End之间填入若干语句。不要删除标志否则不得分。
---------------------------------------------------------*/
#include
#include
#include
#include
#include
#define N 4
void inttobcd(char bcd[],unsigned x)
{
int i,j,y;
char t[]="00000000";
/**********Program**********/
/********** 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;
}
for (i = 2; i > 0; --i)
{
j = i * 4 - 1;
for (y = x % 10; y; y /= 2)
t[j--] += y % 2;
x /= 10;
}
/*---------------------------------------------------------
【程序设计】程序将正整数转换成8421码(又称BCD码)形式的字符串。8421码的编码规则是:
两位10进制正整数可以用1个字节的8421码表示,其中一位10进制整数占用4位
bit。或者说一个字节的8421编码可以表示两位10进制正整数。
例如:10进制的45,对应BCD码是01000101。
BCD码10010111对应的10进制数正整数是97。
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
Program-End之间填入若干语句。不要删除标志否则不得分。
---------------------------------------------------------*/
#include
#include
#include
#include
#include
#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;
}