#include<stdio.h>
#include<ctype.h>
int main()
{
int a;
printf("please input number(10):\n");
scanf("%d",&a);
int s,temp;
int y[10];
int i=0;
int count=0;
if(a<16)
{
f(a);
}
else
{
while(a!=0)
{
count=i;
y[i]=a%16;
temp=a/16;
a=temp;
i++;
}
for(i=count; i>=0; i--)
{
f(y[i]);
}
}
}
void f(int num)
{
char y1[16]={'0','0','0','0','0','0','0','0','0','0','a','b','c','d','e','f'};
if(isdigit(num+'0'))
{
printf("%d",num);
}
else
{
printf("%c",y1[num]);
}
}
这个一共43行,人类要我缩减成10行,,,对滴10行,不能用printf格式输出那种。
人类最讨厌了最讨厌,最讨厌,最讨厌最最讨厌……
#include<stdio.h>
int main()
{
int n,d,i=0;
char res[20];
scanf("%d",&n);
for(;d=n%16;n/=16) res[i++] =d>9? 'A'+d-10:'0'+d;
while(i-->0) putchar(res[i]);
putchar('\n');
}