.getchar() | 是头文件<stdio.h>的库函数,第一次调用此函数时需要人工输入字符或字符串,每次调用读入一个字符;如果第一次人工输入的字符数大于1,则在下一次调用该函数时不需要人工输入,编译器会直接从缓冲区按顺序一个一个读取 |
---|
解题思路
- 首先人工输入一至多个字符,将所有字符存入字符数组1
- 遍历字符数组1,将表示数字的字符存入字符数组2
- 遍历字符数组2,将所有字符转换为整型数字打印输出
#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
char ch;
int len1=0,len2=0;
char str1[N];
char str2[N];
int sum=0;
int temp=1;
ch = getchar();
for (int i = 0; ch != '\n'; i++)
{
str1[i] = ch;
len1++;
ch = getchar();
}
for (int j = 0; j < len1; j++)
{
if (str1[j] >= '0' && str1[j] <= '9')
{
str2[len2++] = str1[j];
}
}
for (int k = len2-1; k >= 0; k--)
{
sum += (str2[k] - '0') * temp;
temp *= 10;
}
printf("%d\n", sum);
return 0;
}