程序如下:
若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
扩展资料:
C语言高效编型野慧程技巧:
一:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题
二:数学方法解决问题
数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所卜答以在编写程序的时候,采用一些数学方法会对脊颂程序的执行效率有数量级的提高。
三:使用位操作
实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。
参考资料来源:百度百科-C语言
#include
void main()
{
char s[20]; //根据需要竖扮滑定余腊义一个足够长的字符串
int m;
scanf("%s",s[]); //输入一个字符串
int f(char str[]); //声明
m=f(s[]); //调用
printf("%d\n",m);
}
int f(char str[]) //定义
{
int i,n,sum;
i=0;
sum=0;
while(str[i]) //当str[i]不为缺宴\0时执行循环
{
sum=sum*10+str[i];
i++;
}
return(sum);
}
int atoi(const char *s)
{
int n = 0;
int i = 0;
while (s[i] != '\0')
{
n *= 10;
n += s[i] - '0';//很关建啊,‘9’-‘0’=9 啊!!(字符-字符=数察誉伍值)败或虚斗
i++;
}
return n;
}
#include
#include
int main()
{
char str[81];
strcpy(str,"123");
int result=atol(str); //利用atol函芹旦数,它是将包含数字字符串转世汪换为长整型数嫌返扰据
printf("the string:%s",str);
printf("\nthe convertvalue is:%d",result);
return 0;
}