Linux下的C语言编程——10进制转换成任意进制的字符串
1. 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
#include 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;
}
#include 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;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
