Linux下的C语言编程——10进制转换成任意进制的字符串

来源:互联网 发布:英国域名后缀 编辑:程序博客网 时间:2024/05/17 09:35


1. 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出

#include <stdio.h>char * decimal(int n,int m,char *str){int i;int len;char temp;char r;len = 0;while(n != 0){if(m != 16){r = n % m;str[len] = r + '0';n = n / m;len++;}else{if(n % m > 9){r = n % m;str[len] = r - 10 + 'A';//r > 9n = n / m;len++;}else{r = n % m;str[len] = r + '0';n = n / m;len++;}}}str[len] = '\0';for(i = 0; i < len / 2; i++){temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}printf("%s\n",str);return *str;}int main(){int n;int m;char str[30];printf("input a integer,you want to trans!\n");scanf("%d",&n);printf("input the decimal you want to trans:\n");scanf("%d",&m);decimal(n,m,str);printf("%s\n",str);    return 0;}

0 0
原创粉丝点击