===Tips:点击上方蓝字 关注并查看历史消息===
本题实现的功能是把字符串中的数字提取转换成整型数字,例如:若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
以下代码中:字符串转换数字的过程在chnum()函数中实现,主函数中考虑了输入的字符串的第一个字符是负号的情况,即输出是负整数。
参考代码:
#include
int chnum(char str[])
{
int i,n,num=0;
for(i=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9')
num=num*10+str[i]-'0';
return num;
}
int main(void)
{
char s[20];
int m;
gets(s);
if(s[0]=='-')
m=-chnum(s+1);
else
m=chnum(s);
printf("%d\n",m);
return0;
}