这是知乎上面的一个题目,挺有意思,面试的时候应该是作为基础题,很多人不屑于看这样的题目,但是到自己些的时候,就会有很多问题。
题目要求
输入一个数3256,将他从小到大输出,就是2356
分析
输入的是字符,我们这里就只分析了int类型不考虑其他字符了。
代码如下:
#include #include /* 二进制 |十进制 |十六进制 | 字符 0011 0000 48 30 0 0011 0001 49 31 1 0011 0010 50 32 2 0011 0011 51 33 3 0011 0100 52 34 4 0011 0101 53 35 5 0011 0110 54 36 6 0011 0111 55 37 7 0011 1000 56 38 8 0011 1001 57 39 9 */ void sort(char *nums,unsigned char *output,size_t len); int main(int argc, char const *argv[]) { char nums[100]; unsigned char output[10] = {0};/*0~9*/ int i = 0; gets(nums); sort(nums,output,strlen(nums)); //printf("\n"); for(i = 0;i<10;i++) { while(output[i] --) printf("%c",i+0x30); } getchar(); return 0; } void sort(char *nums,unsigned char *output,size_t len) { int i = 0; for(i = 0;i关注打赏
立即登录/注册


微信扫码登录