文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>算法于效率

算法于效率

时间:2007-02-17  来源:PHP爱好者

/* 和以前一样,这里的代码也是从记事本中粘贴来的,代码无法缩进,sorry了 ^_^ */

现在我们要写的程序就是将文件内的数字读出来,将char转化为int。在C中,读入的char字符虽然为“12345”但是在int中则仍然为ASCII字符,想要将读入的char转化为int,我们可以写一段程序,采用最简单的方法,莫过于将程序中的数字装入数组,然后按位乘以10并相加,请看以下代码:
#include
#include
#include

void main()
{
char c, *ch; int j=0;
ch = new char[80];
ifstream i("test", ios::in | ios::binary);
if(!i) { cerr<<"open error.n"; exit(0); }

while(i.get(c))
{
if(c>=0x30 && c<=0x39) ch[j++]=c;
} ch[j]='';

int k=0; int tmp, ct=j-1, b;
for(int i=0; i<=j-1; i++)
{
ct--;
if(ch==0x30) tmp=0;
if(ch==0x31){ tmp=1;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x32){ tmp=2;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x33){ tmp=3;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x34){ tmp=4;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x35){ tmp=5;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x36){ tmp=6;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x37){ tmp=7;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x38){ tmp=8;
for(b=0; b<=ct; b++)
tmp*=10; }

if(ch==0x39){ tmp=9;
for(b=0; b<=ct; b++)
tmp*=10; }
k+=tmp;
}
cout<
php爱好者 站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载