需求:输入一个字符串(长度小于50),然后过滤掉所有的非数字字符,得到由数字字符组成的字符串,将其转化为double型结果输出(4位小数)。
源程序:
#include<stdio.h>
int change(char*source,char *des)
{
    int i=0;
    while(*source)
    {
     if(*source>=‘0‘&&*source<=‘9‘)
            des[i++]=*source;
     source++;
    }
    des[i]=‘\0‘;
    return i;
}
double calcu(char*s)
{double result=0;
while(*s)
{
    result=result*10+(*s-48);
    s++;
}
return result;
}
int main()
{
    char str[50],strdes[50];
    gets(str);
    if(change(str,strdes))
    {
        printf("%.4f\n",calcu(strdes));
    }
    else
        printf("the digital string is empty!");
    return 0;
}
实现:
原文:http://www.cnblogs.com/jikaiyang/p/5055279.html