问题:从键盘上读取任意的十进制数;
1.用二进制表示读取到的十进制数
2.用十六进制表示读取到的十进制数
如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
char buff[255];
scanf("%d",&num);
itoa(num,buff,2);
puts(buff);
itoa(num,buff,16);
puts(buff);
return 0;
}
int con(char *buf, int n, int base)
{
int i = 0, t;
char tc;
while (n)
{
t = n % base;
if (t > 9)
buf[i] = t - 10 + 'A';
else
buf[i] = t + '0';
n /= base;
i++;
}
i--;
t = 0;
while (t <= i / 2)
{
tc = buf[i - t];
buf[i - t] = buf[t];
buf[t] = tc;
t++;
}
buf[i + 1] = '\0';
return i;
}
int main()
{
char buf[100];
con(buf, 1002, 2);
printf("%s\n", buf);
con(buf, 1002, 16);
printf("%s\n", buf);
return 0;
}
本人是C语言初学者,能不能尽量不要使用指针解决问题
看这个是否有用
https://b23.tv/fOVROtz