第1个回答 2011-02-11
不知你要从字符串中找单个数字,还是多位的数?如:
字符串:"abc259ef",你是希望找出'9'呢还是找出259?
如果要找出单个数字,那简单:假设字符串在str中
char str[256];
char c_val;
int i;
c_val = '0';
for(i=0;i<256;i++)
{
if (str[i] > c_val)
c_val = str[i];
}
c_val就是结果;
如果要找出多位数,则如下,(写个大概代码)
char str[256];
int i_result,i_temp;
int i;
i_result = 0;
i_temp = 0;
for(i=0;i<256;i++)
{
if (str[i] >='0' && str[i]<='9')
{
i_temp = i_temp*10 + (str[i] - '0');
}
else
{
if (i_temp > i_result)
i_result = i_temp;
i_temp = 0;
}
if (i_temp > i_result)
i_result = i_temp;
}
i_result就是结果本回答被提问者采纳
第2个回答 2011-02-11
我能帮助你的就是思路:
准备工作:一个含有数字的字符串、一个用于存放从字符串中筛选出来的数字的数组;
1、从字符串中挑选出来所有的数字,并把这些数字赋值给准备好的数组;
2、对数组中的数字进行比较筛选出最大的数字就是你所需要的。
另外写程序给你点建议,不要仅限于追求具体的代码;因为不同的人做一件事的思路是不一样的。结果得到的是一样的,不如发挥自己的创造力!希望能帮到你!
第3个回答 2011-02-21
不知这样行不?
求单数。(PS:感觉2楼的求单数有问题,但串数是正确的。 3楼也提供了另一种求串数的方法,可以解题。)
void fun(char * str)
{
char * ptr ;
for(int k='9'; k>='0'; k--)
{
* ptr = str;
while( *ptr++ != NULL)
if ( * ptr == k ) break; // 在字符串中找从9到0的数,当找到比如8时就立即跳出
}
printf{"% d", k};
}
第4个回答 2011-02-11
把所有字符串转成数字后排序
你还是据点例子上来 字符串什么样子 数字在什么位置
要不人怎么回答你