| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5455 人关注过本帖
标题:一个截取字符串中数字的函数
取消只看楼主 加入收藏
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
结帖率:100%
收藏
 问题点数:0 回复次数:1 
一个截取字符串中数字的函数

我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符“123”变为整数123,“453”变为453,“3”变为3,然后放入另一数组中,我的代码是:
main()
{ char str[10];
int a[10]={0};
int i,j,k,m;
int sum;
int number;
i=0;
j=0,sum=0,number=0;
printf("enter:");
gets(str);
printf("\n");
for(m=0;m<10;m++)
printf("%c",str[m]);

while(*(str+i)!='\0')
{
if(('0'<=(*(str+i)))&&((*(str+i))<='9'))
{ number=*(str+i)-'0';
sum=sum*10+number;
number=0;
}
else
{if(('0'<=(*(str+i-1)))&&((*(str+i-1))<='9'))
{ a[j]=sum;
sum=0;
j++;
}
}
i++;
}
printf("out:");
for(k=0;k<10;k++)
printf("%5d\n",a[k]);
}
运行是不能显示正确结果,请各位高手给看看,哪里出现了错误,

[此贴子已经被作者于2006-6-9 22:54:34编辑过]

搜索更多相关主题的帖子: 函数 数字 字符 
2006-06-09 22:44
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
收藏
得分:0 

我的算法是:取一个字符后,判断它是不是在0至9之间,如果是,就把它变为整数并存入sum中,然后取下一个字符,判断它是不是在0至9之间,如果是,把sum乘10后加上这个数,然后判断下一个字符,如果下一个字符不是在0至9之间,在判断它的上一个字符是不是在0至9之间,如果是,把sum存入另一数组中,后判断下一个字符是不是在0至9之间,如果不是,后判断它的上一个字符是不是在0至9之间,如果不是,则,什么也不做,继续往下走,


2006-06-09 23:15
快速回复:一个截取字符串中数字的函数
数据加载中...
 
   



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

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