编写itoa函数,该函数为itoi函数的逆函数。将一个整数转化为字符串的形式。
2016-11-27 20:10
405 查看
itoa函数
功 能: 把一整数转换为十进制字符串
用 法: void my_itoa(int n, char s[])
思路:
整数转化为十进制字符串,首先,需要整除(n/=10)求余(n%10),再次我们考虑到正负问题,对于负数我们可以先求它的相反数的字符串后面再加上‘-’。
最后进行一次翻转,所有数字变为正序。
实现:
警告:
1.if ((sign = n )< 0),对sign进行赋值一定要带上(),比较运算符优先于赋值运算。
2.进行循环判断时,不应是while(n/10),而应该是while ((n /=10)>0);
功 能: 把一整数转换为十进制字符串
用 法: void my_itoa(int n, char s[])
思路:
整数转化为十进制字符串,首先,需要整除(n/=10)求余(n%10),再次我们考虑到正负问题,对于负数我们可以先求它的相反数的字符串后面再加上‘-’。
最后进行一次翻转,所有数字变为正序。
实现:
//编写itoa函数,该函数为itoi函数的逆函数 #include<stdio.h> #include<windows.h> void my_itoa(int n, char s[]); void reverse(char s[]); int main() { int m = -123; char s[20] = { '0' }; my_itoa(m, s); printf("%d\n", m); puts(s); system("pause"); return 0; } void my_itoa(int n, char s[]) { int i = 0, sign; if ((sign = n )< 0) { n = -n; } i = 0; do { s[i++] = n % 10 + '0'; } while ((n /=10)>0); if (sign < 0) { s[i++] = '-'; } s[i] = '\0'; reverse(s); } void reverse(char s[]) { int i,j; int n = strlen(s)-1; int temp = 0; for (i = 0, j = n; i <j; i++, j--) { temp = s[i]; s[i] = s[j]; s[j] = temp; } }
警告:
1.if ((sign = n )< 0),对sign进行赋值一定要带上(),比较运算符优先于赋值运算。
2.进行循环判断时,不应是while(n/10),而应该是while ((n /=10)>0);
相关文章推荐
- 编写一个函数将字符串中的数字字符转化为相应的整数
- 字符串包含一个或多个数字,编写函数把数字字符转化为整数并返回这个整数。如果字符串包含任何非数字字符,函数就返回零。
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 为函数原型编写函数定义:int my_atoi(char *str);(将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数))
- 为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 导师作业:2、编写一个函数,将一个整数值转换为16进制表示的字符串。
- 编写一个函数将一个十六进制数的字符串参数转换成整数返回
- 编写函数,其功能是:将一个数字字符串转换为一个整数(不得调用C语言中提供的将字符串转换成整数的函数。)要求在主函数中输入该字符串并输出转换后的整数的值。
- 编写函数strndel,参量是一个字符串string和两个整数start、length。在string中删除start开始的length个字符,最后返回string。
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 写一个函数,检查字符是否是整数,如果是,返回其整数值(或:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 请编写一个 C 函数,该函数将给定的一个整数转换成字符串
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- C语言中—— 编写一个函数,实现整数的二进制的形式
- 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- 8、编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数, 然后打印出这个十进制整数对应的二进制形式。
- 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数,负整数)
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。