整数转换为字符串的方法

实现一个函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中。

#include <stdio.h>
 
void reverse(char*left, char *right)
{
         while(left < right)
         {
                   chartmp = *left;
                   *left = *right;
                   *right = tmp;
                   left++;
                   right--;
         }
}
void my_itoa(int n, char s[])
{
         char*start;
         char*end;
         if (n< 0)
         {
                   *s = ‘-‘;
                   n = -n;
                   s++;
         }
         start = s;
         while(n)
         {
                   *s = (n % 10)+‘0‘;
                   s++;
                   n /= 10;
         }
         *s = ‘\0‘;
         end = s - 1;
         reverse(start, end);
}
 
 
int main()
{
         int num= -1234;
         chararr[10];
 
         my_itoa(num, arr);
         printf("%s\n",arr);
         system("pause");
         return0;
}
 
程序运行结果为:

				
时间: 2024-12-15 23:05:23

整数转换为字符串的方法的相关文章

C语言中将数字转换为字符串的方法(转自c语言中文网)

C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h># include <stdlib. h> void main (void) { int num = 100; char str[25]; itoa(num, str, 10); printf("The number 'num' is %d and the string 'str' is %

C语言中将数字转换为字符串的方法

C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h># include <stdlib. h>void main (void);void main (void){    int num = 100;    char str[25];    itoa(num, str, 10);    printf("The number 'num' is %

c语言实现将一个整数转换为字符串

#include<stdio.h> void convert(int n) { int i; if ((i=n/10)!=0) convert(i); putchar(n%10+'0'); } int main() { int number; printf("\nInput an integer:"); scanf("%d",&number); printf("Output:"); if (number<0) { put

用itoa()函数将整数转换为字符串

在C语言中提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子:atoi     把字符串转换成整型数itoa     把一整数转换为字符串 下面分享一下应用范例,可学习0基础C语言开发教程: #include "stdio.h" #include "ctype.h" #include "stdlib.h" /* Converts a character strin

VC++和C语言中常见数据类型转换为字符串的方法

1.短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 2.长整型(long) ltoa(l,temp,10); 3.浮点数(float,double) 用fcvt可以完成转换,这是MSDN中的例子: int decimal, sign; char *buffer; double source = 3.1415926535; buffer = _fcvt(source,7,&dec

整数转换为字符串

因为64位下INT_MAX其长度不超过20,故此处将字符串数组传递进函数. int num2str(int num,char str[]) { char c; int i=0, j=0, k=0, tmp = num > 0 ? num : -1 * num; if (num > INT_MAX || num < INT_MIN) return -1; if (num<0) { str[i++] = '-'; ++j; num *= -1; //求余需要注意转换为正数,因为-111

PHP的两个科学计数法转换为字符串的方法

不常用,所以整理在这里,分享给同行使用 方法一:取尾数法 public function NumToStr($num) { if (stripos($num, 'e') === false) return $num; $num = trim(preg_replace('/[=\'"]/', '', $num, 1), '"'); //出现科学计数法,还原成字符串 $result = ""; while ($num > 0) { $v = $num - floo

c/c++将整数转换为字符串

#include <iostream> using namespace std; int main(int argc, char **argv) { int a,b,c=0; iint i,j; char d[6],e[6]; cin>>a; while(a>=10) { b=a%10; a=a/10; d[c++]=b+'0'; } d[c++]=a+'0'; d[c]='\0'; i=(signed)strlen(d); for(j=0;j<i;j++) { e[i

C语言将16进制的数转换为字符串的方法(改进)

昨天写了一个方法,可以将嵌入式C常用的uint8_t数据转为一个字符,但是程序有警告,尴尬症发作甚是不爽,于是在今天解决了这个问题.昨天的博文 C语言中的char是一字节,也就是8个二进制位,正好可以表示成2个16进制的数.但是第一位是符号位,而单片机用的C语言中常常不牵扯负数,所以更常见的就是使用无符号的char(unsigned char),再定义为uint8_t(typedef unsigned char uint8_t;),这样子就可以用8个二进制位表示成2个16进制的数,如1111 1