本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。
输入格式:
输入在一行中给出一个不超过80个字符且以回车结束的字符串。
输出格式:
在一行中输出转换后的整数。题目保证输出不超过长整型范围。
输入样例:
free82jeep5
输出样例:
825
#include <stdio.h>
int main(){ //题目中的转换指例如若提取出的数字是000则输出需为0,078则输出为78
int p=0,t=1;
char tmp;
tmp=getchar();
while(tmp!='\n'){
if(tmp>48&&tmp<=57){ //0的ASCII码为48,即该字符为非零数字时P=1可输出,该字符是0时则p=0下面判断不输出
p=1; //p相当于清除了078中的0,只有当前面有输出非零数字时后面的0才可输出
}
if(tmp>=48&&tmp<=57&&p){ //ASCII码判断是否是数字,p=1且字符为数字时输出
printf("%c",tmp);
t=0; //t为是否有输出
}
tmp=getchar();
}
if(t){ //若无输出则为0
printf("0\n");
}
return 0;
}