| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 404 人关注过本帖
标题:将数字转换成字符串
只看楼主 加入收藏
梦幻尘
Rank: 2
等 级:论坛游民
帖 子:33
专家分:34
注 册:2012-8-26
结帖率:87.5%
收藏
已结贴  问题点数:10 回复次数:5 
将数字转换成字符串
#include<stdio.h>
void main()
{  
    void itoa(int n,char s[]);
    int x=136;
    char a[10];
    itoa(x,a);
}
void itoa(int n,char s[])
{
    int i,sign;
    if((sign=n)<0)   /*记录符号*/
        n=-n;
    i=0;
    do{
        s[i++]=n%10+'0';/*取下一个数字*/
    }while((n/=10)>0);  /*删除该数字*/
    if(sign<0)
        s[i++]='\0';
    reverse(s);   此为什么意思?
    puts(s);
}
搜索更多相关主题的帖子: 字符串 void 
2012-09-13 09:32
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:3 
reverse()颠倒字符次序
2012-09-13 09:56
ldzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:64
专家分:339
注 册:2012-7-30
收藏
得分:3 
百度之
2012-09-13 10:39
Andony
Rank: 2
等 级:论坛游民
帖 子:38
专家分:60
注 册:2012-9-12
收藏
得分:3 
reverse()是实现一个字符串的反转
 16 void my_reverse(char s[])
 17 {
 18         int len = strlen(s) + 1;
 19         printf("len:%d\n",len);
 20         char tmp[len];
 21         int i;
 22         for(i = 0;i < len -1 ;i++)
 23                 tmp[i] = s[i];//暂时存储一份s[]
 24         tmp[i] = '\0';
 25         printf("%s\n",tmp);
 26         i--;
 27         printf("i:%d\n",i);
 28         for(i; i >= 0; i--){//实现s的反转
 29                 s[len - i - 2] = tmp[i];
 30         }
 31         s[len - 1] = '\0';//最大是 s[len - 1]
 32 }

重复的事情用心做,你就是赢家
2012-09-13 11:57
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:3 
reverse()函数可以实现一个字符串内字符的颠倒。
2012-09-15 14:45
qishuaihu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-11
收藏
得分:0 
回复 楼主 梦幻尘
#include <iosteram>
using namespace std;
class STR
{
int num;                     //被转换的整数
char s[15];                  //存放转换完的字符串
public:
STR(int x)                 //构造函数,用参数x初始化数据成员num
{
num=x;
}
void itoa();               //将num转换成字符串并存入字符数组s中
void print()               //输出被转换的整数及转换结果字符串
{
cout <<"n="<<num<<endl;
cout <<"string="<<s <<endl;
}
};
void STR::itoa()
{
int i=0;
int x=num;
while(x)                   //将整数分解,并将分解后的每位数字转换成字符
{
s[i]=x%10+'0';              //将数字转换成字符,最后转换的是原数字的个位数
x=x/10;                    //将分解完的数字去掉
i++;
}
s[i]='\0';                  //字符串以0结尾
int n=i-1;
for(i=0;i<=n/2;i++)           //将分解后的数字字符反过来排列
{
char c;
c=s[i];
s[i]=s[n-i];
s[n-i]=c;
}
}     /*在主程序中任意输入一个整数n,定义一个STR类的对象str,然后按上述要求测试该类。输入正整数3456作为测试数据*/
int main()
{
int n;
cout <<"Input n  ";
cin>>n;
STR str(n);
str.itoa();
str.print();
return 0;
}


输出的结果如下:  3456
2013-03-29 14:06
快速回复:将数字转换成字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024531 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved