试编程求十六进制数CBA除以ABC的商和余数,并以十六进制形式输出

来源:百度知道 编辑:UC知道 时间:2024/05/12 10:11:39
详细写出具体步骤 谢谢

#include<iostream>
using namespace std;

int f(char *a) /*16进制数转化成10进制数*/
{
int sum = 0;
for(int i=0; a[i]; i++)
{
sum *= 16;
if(a[i] <='9' && a[i]>='0' ) sum += a[i]-'0';
else sum += a[i]-'A' + 10;
}
return sum;
}

void g(int n) // 10 进制数 以16进制数输出
{
if(n==0) return ;
g(n/16);

int t = n%16;
if(t<=9) printf("%d", t);
else printf("%c", t-10 +'A');
}

int main()
{
char a[]= "CBA", b[] = "ABC";

int x, y;

x = f(a);
y = f(b);

printf("商是 :");
g(x/y);
putchar('\n');
printf("余数是:");

g(x%y) ;
putchar('\n');
}