编写函数,把一个正整数转换为字符串

要求主函数输入一个正整数,调用子函数把这个整数转换为字符串,比如输入12345,转换后的字符串为12345。注意如果n为负数,要保存‘-‘号本题在C++中运行,子函数接收... 要求主函数输入一个正整数,调用子函数把这个整数转换为字符串,比如输入12345,转换后的字符串为12345。注意如果n为负数,要保存‘-‘号
本题在C++中运行,子函数接收两个参数,分别是整数n和字符数组a,a用来存放转换后的字符串。在子函数中依次取整数n的个位、十位、百位等等,逐个转成字符存到字符数组中,存完之后把数组反转即可。比如12345,先存为字符数组54321,之后反转数组为12345。注意如果n为负数,要保存‘-‘号。
展开
 我来答
babyOline
2011-11-21 · TA获得超过263个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:254万
展开全部
#include<stdio.h>
#include<string.h>
char *int_to_str(long long num,char ar[])
{
int i=0,size;
char *pd;
pd=ar;
int val=num;
if(num<0)
{ *pd++='-';
num=-num;}
for(;num;num=num/10)
*pd++=num%10+'0';
*pd='\0';
*pd--;

char *pi;
pi=val>0?ar:ar+1;
for(;pi<pd;pi++,pd--)
{
char temp=*pi;
*pi=*pd;
*pd=temp;
}

return ar;
}
char *int_to_str2( int num,char str[])
{
char *pd;
pd=str;
sprintf(pd,"%d",num);
return pd;
}//这个是用库函数写的,所以简洁多了
int main(void)
{
long long num=0L;
printf("\n请输入一整数:");
scanf("%lld",&num);
int MAX_SIZE=sizeof(num);
char str[MAX_SIZE];
printf("\n转换后的字符串:%s\n",int_to_str(num,str));
printf("\n函数2 的字符串:%s\n\t\t",int_to_str2(num,str));
for(int i=0;i<strlen(str);i++)
printf("str[%d]=%c\n\t\t",i,str[i]);
return 0;
}
hongyaofu
2011-11-20 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:524万
展开全部
很简单的,还是自己动动手好!
#include<stdio.h>
char *int_to_str( int num)
{
char out_str[200];
memset(out_str,0x00,sizeof(out_str));
sprintf(out_str,"%d",num);
return(out_str);
}
void main()
{
char str[200];
int in_int;
printf("Please Input a Digit:");
scanf("%d",&in_int);
printf("Result:(%s)",int_to_str(in_int));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HamasN
2011-11-20 · 超过17用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:35.6万
展开全部
#include<stdio.h>
main()
{
int n,i=0,j;
char s[80];
scanf("%d",&n);
while(n<0)//若n为负数 加负号'-'
{
s[i++]='-';
n=-n;
}
while(n)
{s[i]=n%10;
n=n/10;
i++;
}
for(j=i-1;j>=0;j--)
printf("%d",s[j]);
printf("\n");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式