编写函数,把一个正整数转换为字符串
要求主函数输入一个正整数,调用子函数把这个整数转换为字符串,比如输入12345,转换后的字符串为12345。注意如果n为负数,要保存‘-‘号本题在C++中运行,子函数接收...
要求主函数输入一个正整数,调用子函数把这个整数转换为字符串,比如输入12345,转换后的字符串为12345。注意如果n为负数,要保存‘-‘号
本题在C++中运行,子函数接收两个参数,分别是整数n和字符数组a,a用来存放转换后的字符串。在子函数中依次取整数n的个位、十位、百位等等,逐个转成字符存到字符数组中,存完之后把数组反转即可。比如12345,先存为字符数组54321,之后反转数组为12345。注意如果n为负数,要保存‘-‘号。 展开
本题在C++中运行,子函数接收两个参数,分别是整数n和字符数组a,a用来存放转换后的字符串。在子函数中依次取整数n的个位、十位、百位等等,逐个转成字符存到字符数组中,存完之后把数组反转即可。比如12345,先存为字符数组54321,之后反转数组为12345。注意如果n为负数,要保存‘-‘号。 展开
3个回答
展开全部
#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;
}
#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;
}
展开全部
很简单的,还是自己动动手好!
#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));
}
#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));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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");
}
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");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询