网站大量收购独家精品文档,联系QQ:2885784924

【2017年整理】数字字符串转化成整形数或实行数.doc

【2017年整理】数字字符串转化成整形数或实行数.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】数字字符串转化成整形数或实行数

数字字符串转化成整形数或实行数 #include iostream.h #include stdio.h #include string.h double strtof(char *p); int strtoi(char *p); char *ftostr(double a); char *itostr(int d); void main() { char *p; coutstrtoi(-12345)endl; //转化为整数 printf(%.10f\n,strtof(-12345.205)); //转化为浮点数 p=ftostr(-12.34); //浮点数转化为字符串 coutpendl; delete []p; p=itostr(-123456); //整数转化为字符串 coutpendl; delete []p; } double strtof(char *p) { double a,d=0,w=10; int i=0,t=1; if(p[i]==+) { t=1;i++;} if(p[i]==-) { t=-1;i++;} while(p[i]!=\0 p[i]!=.) { if(p[i]0 || p[i]9) { couti !!!!endl;return 0;} d=d*10+p[i]-0; i++; } if(p[i]==.) i++; a=d;d=0; while(p[i]!=\0) { if(p[i]0 || p[i]9) { couti !!!!endl;return 0;} d=d+(p[i]-0)/w; i++;w=w*10; } a=(a+d)*t; return a; } int strtoi(char *p) { int d=0,i=0,t=1; if(p[i]==+) { t=1;i++;} if(p[i]==-) { t=-1;i++;} while(p[i]!=\0) { if(p[i]0 || p[i]9) { cout!!!!endl;return 0;} d=d*10+p[i]-0; i++; } return d*t; } char *ftostr(double a) { int in,t,w,i=0; double fn; char s[100],*p=s,ch; if(a0) { a=-a;t=1;} else { t=0;} in=(int)a; fn=a-in; do { p[i]=in%10+0;i++; in=in/10; }while(in!=0); w=i; p[i++]=.; int k=1; while(fn!=0 k16) { fn=fn*10; in=(int)fn; p[i++]=in+0; fn=fn-in; k++; } p[i]=\0; for(i=0;iw/2;i++) { ch=p[i];p[i]=p[w-i-1];p[w-i-1]=ch;} p=new char[strlen(s)+2]; if(t==1)strcpy(p,-); strcat(p,s); return p; } char *itostr(int d) { char *p; int w=1,i=0,t=d; while(t!=0) { w=w*10; i++; t=t/10; } p=new char[i+2]; i=0; if(d0) { p[i++]=-; d=-d; } while(w1) { w=w/10; p[i++]=d/w+0; d=d%w; } p[i]=\0; return p;} 字符串添加到类 /下面提供两种查找子串程序,选择一种方法为Mystr类添加查找子串成员函数 //并编写一个删除子串的成员函数 //查找子串方法1 #include stdio.h void main() { char *s=abcdefghijk,*t=def; int i,j,k,m=-1; for(i=0;s[i]!=\0;i++) { k=i; for(j=0;t[j]!=\0 s[k]!=\0 s[k++]==t[j];j++); if(t[j]==\0) { m=i; break; } } printf(%d\n,m);//没找到输出-1 } //查找子串方法2 #include stdio.h void main() { char *s=abc

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档