将整数n转换成字符串的方法

最近做一个题,用递归方法将整数n转换成为字符串,做了半天做好了才发现有一个库函数直接就可以实现这个功能,真是日了狗了。。。。

小二,上代码。。。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//  这个turnover函数是为了将字符串调转过来,因为convert函数中将n转换成字符串后字符串是倒着的
//  就是利用了一个中间变量将字符串数组s首尾依次交换
char *turnover(char *s)
{
 int i,j;    // 临时变量
 char c;     // 临时变量
 j=strlen(s)-1;   // 获取字符串有字符的长度因为字符串后又‘\0‘,所以减1
 for(i=0;i<=j/2;i++)  // 循环一次交换
 {
  c=s[j];
  s[j--]=s[i];
  s[i]=c;
 }
 return s;
}
// 将整数n转换成字符串
char *convert(int n,char *s)
{
 char c[]={‘0‘,‘\0‘}; // 临时变量,用于存储从n上一次剥落的字符
 c[0]=n%10+‘0‘;   // 将n的个位转化成字符,存储在c[0]中
 strcat(s,c);   // 连接s与c
 n/=10;     // n被剥落一位就减去一位
 if(n!=0)    // 递归开始。。。
  convert(n,s);
 else
  return turnover(s);
}
int main()
{
 int n;
 char s[100],*str;
 scanf("%d",&n);
 str=convert(n,s);
 printf("%s\n",str);
}

其实将n转换成字符串还有一个更方便的库函数int sprintf(char *s,"......",各种参数);

这个函数第一个参数为字符串首地址,第二个参数为格式字符串,第三个为格式控制。返回值为字符字符串的长度。用法如下:

#include<stdio.h>
#include<string.h>
int main()
{
 char buffer[80];
 int n,i;
 scanf("%d",&n);
 i=sprintf(buffer,"%d",n);
 printf("%s\n",buffer);
 printf("%d",i);
}

输出结果为:

时间: 2024-10-08 15:39:31

将整数n转换成字符串的方法的相关文章

整数1转换成字符串&quot;001&quot;的简单方法

如何将整数1转换成字符串"001"这个问题,涉及到一个概念:字符串格式化. 常用的字符串格式化命令叫做:sprintf,下面举例说明. int i = 8; char array[4]; sprintf(array,"%.3d",i); string s = array; 另外附上一篇文章:string 与char* char[]之间的转换 http://blog.csdn.net/cogbee/article/details/8931838

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串&quot;486&quot;。n的位数不确定,可以是任意位数的整数。

8.17用递归法将一个整数n转换成字符串.例如,输入486,应输出字符串"486".n的位数不确定,可以是任意位数的整数. #include <stdio.h> char str1[20];int i=0;long n;int main(){        int longToStr(long n);    char *revstr(char *str, int len);    printf("请输入一个整数n:\n");    scanf("

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

比如,输入483,应输出字符串"483".n的位数不确定,能够是随意位数的整数. #include "stdafx.h" #include<iostream> using namespace std; void s(int n) { int i; if((i=n/10)!=0)  s(i);      //假设个位以上还有高位.则再次调用函数s putchar(n%10+'0');     //+'0' 能够将整型数字转换为字符格式的数字.-'0' 则能

Sql中将datetime转换成字符串的方法(CONVERT())

语法格式:CONVERT (<data_ type>[ length ], <expression> [, style]) style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式:一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到. SQL Serve

js字符串转换成数字,数字转换成字符串

js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int): 如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测: 举例 : var i = parseInt('abc'); if (isNaN(i)) { alert('NaN value

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

主要内容: 一.json相关概念 二.json字符串转换成json对象 (字符串-->JSON对象) 三.json对象转换成字符串(json对象-->字符串) 四.将值转换成字符串(值-->字符串) 五.字符串转成值(字符串-->值) 同步的交流学习社区:http://www.mwcxs.top/page/425.html 一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想

前台 JSON对象转换成字符串 相互转换 的几种方式

在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收.有时传递了几个数值,还好接收.但是如果传递一个json数组,这样后台接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递.例如下面的例子: 前台按类的格式传递JSON对象: var jsonUserInfo = "{\"TUserName\&quo

JSON对象转换成字符串【JSON2.JS】

下载地址 https://github.com/douglascrockford/JSON-js JSON.JS和JSON2.JS的区别 JSON.JS使用的方法名称不同,用的是toJSONString()和parseJSON() ,使用的时候,和JQUERY的AJAX会产生冲突. JSON2.JS改进了上面的缺点 使用方法 在页面中添加json2.js的引用. <script type="text/javascript" src="/CoreResource/JS/j

Java中如何将字符串数组转换成字符串

如果将"字符串数组"转换成"字符串",只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb = new StringBuffer(); String prefixStr = str.substring(0,str.indexOf("(")); String subStr = str.substring(str.indesOf("