C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写相关的知识,希望对你有一定的参考价值。

例如,输入整数2008,应输出字符串“2008”。n的位数不确定,可以是任意的整数

将输入的整数保存在一个int整型变量里,再使用itoa函数即可
功 能: 把一整数转换为字符串

用 法: char *itoa(int value, char *string, int radix);

详细解释:itoa是英文integer to string a(将整形数转化为一个字符串,并将值保存在a中)

的缩写.其中value为要转化的整数, radix是基数的意思,即先将value转化为几进制的数,之后在保存在a 中.

作用:实现数制之间的转化

比较:ltoa,其中l是long integer(长整形数)

备注:该函数的头文件是"stdlib.h"

程序例:

#include <stdlib.h>

#include <stdio.h>



  int main(void)

  int number = 12345;

  char string[25];

  itoa(number, string, 10);

  printf("integer = %d string = %s\n", number, string);

  return 0;

追问

程序有错误

追答

#include
#include
int main(void)

int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;

参考技术A int n;
cin>>n;
while(n/10)
cout<<n%10;
n= n/10;
参考技术B #include <stdio.h>
void f(int n, char* buf)

sprintf(buf,"%d",n);

实现整数转成字符串

实现整数转成字符串

题目

用 C 语言实现,将一个整数转成字符串,比如 123 转成“123”。要求不能使用 itoa 等函数。

代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char * itostr(int v)

    int a;
    if(v < 0)
    
        a = -v;
    
    else
    
        a = v;
    

    char *str = (char*)malloc(32);
    memset(str, 0, 32);
    int i = 0;
    while(a!=0)
    
        int tem = a % 10;
        a /= 10;
        str[i++] = '0' + tem;
    

    if(v < 0)
    
        str[i++] = '-';
    

    char *str2 = (char*)malloc(i);
    int j = 0;
    for(; j < i; j++)
    
        str2[j] = str[i-j-1];
        //printf("%c", str2[j]);
    
    str2[j] = '\\0';

    free(str);
    return str2;


int main()

    printf("%s\\n", itostr(123));
    printf("%s\\n", itostr(-123456));
    printf("%s\\n", itostr(2147483647)); // 2*31-1

    return 0;

另一种取巧的方法,如果可以使用 sprintf

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char * itostr(int v)

    char *str = (char*)malloc(32);
    memset(str, 0, 32);
    sprintf(str, "%d", v);
    return str;



int main()

    printf("%s\\n", itostr(123));
    printf("%s\\n", itostr(-123456));
    printf("%s\\n", itostr(2147483647)); // 2*31-1

    return 0;

测试结果相同。

以上是关于C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程:用递归法将一个整数n转换成字符串。

c语言中实现输入一个数字字符,然后转换成整数数字输出.怎么做?

用递归法将一个整数转换成字符串

c语言输入一个整数,用递归算法将整数倒序输出.

C语言:用递归法讲一个整数n转换成字符串。例如输入483,应输出字符串“483”,n的位数不定,为任意位数整

C语言 将输入整数转换成字符串输出