题目描述
输入一串字符“a12b345c”,将其中的数字字符转换为整数12345。
输入格式:
输入一串字符,长度小于10。
输出格式:
输出相应的整型数据。
输入样例:
在这里给出一组输入。例如:
a01c2b345c
输出样例:
在这里给出相应的输出。例如:
12345
代码:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
int main() {
char input[10];
int result = 0;
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0';
//strcspn 函数查找输入字符串中的换行符(\n)
//并用空字符(\0),替换它从而去除输入字符串中的换行符。
int count=0,v;
for (int i = 0; i < strlen(input); ++i) {
v=isdigit(input[i]);
//isdigit 函数 检查一个字符是否是数字。
//属于 C 语言的标准库 <ctype.h>
if (v) {
count++;
}
}
for (size_t i = 0; i < strlen(input); ++i) {
//size_t是一个无符号整型类型
if (input[i] >= '0' && input[i] <= '9') {
result += (input[i] - '0') * pow(10,count-1);
count--;
}
}
printf("%d\n", result);
return 0;
}