将十进制数转换成十六进制数。
函数接口定义:void c10_16(char p[],int b);
其中 p 和 b 都是用户传入的参数。 函数十进制数 b 转换成十六进制数放在p 数组中。
裁判测试程序样例:输入样例:56 输出样例:38#include
void c10_16(char p[],int b);
int main()
{
int a,i;
char s[20];
scanf("%d",&a);
c10_16(s,a);
for(i=strlen(s)-1;i>=0;i--) printf("%c",s[i]);
printf("n");
return 0;
}
因为这个主函数是逆向输出字符组的,所以函数里我们的得到的字符组也是倒序的,上代码
void c10_16(char p[],int b){ int now,num=b,i=0; while(num>0){ now=num%16; num/=16; if(now>=10)p[i]=now-10+'A'; else p[i]=now+'0'; i++; } p[i]=''; }
如果是10进制转为8进制或者2进制,原理是一样的,修改一下数字即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)