【算法题】整数与字符串之间的相互转化

时间:2021-04-26 17:52:01
数字转换为字符串itoc
char itoc(int i)
{
return i+'0';
}
字符串转换为数字
int ctoi(char c)
{
return c-'0';
}

Q:怎么样将整数转换为字符串数?
int main()
{
	int num=-12345;
        int isNeg=0;//是否为负数的标志
	char temp[7],str[7];
	int i=0,j=0;
	if(num<0)
	{
		num=0-num;
                isNeg=1;
	}
	do
	{
		temp[i++]=num%10+'0';//将数字从各位开始转换为字符串
		num=num/10;
	}while(num); //用 do-while循环修复为0的情况
         if(isNeg)
          temp[i++]='-';
	
	
	//将刚刚转换的字符串反转过来
       
	while(i>0)
	{    
		  str[j++]=temp[--i]; 
	}
	str[j]='\0';
	cout<<"转换后:"<<str<<endl;
}


Q:编程实现将字符串转换为整数
int main()
{
 char * str="-12345";
 int sum=0;
 int isNeg=0;
 while(*str!='\0')
 {       
	 if(*str=='-')
	  isNeg=1;
	 else 
	 sum=sum*10+*str-'0';
	 
	 str++;
 }
 if(isNeg)
	 sum*=-1;
 cout<<"sum="<<sum<<endl;
}