用C语言编写:从键盘输入一行任意的字符串给字符数组s,可以有数字字符和其他字符。将连续的数字字符作为一个整数, 依次提取这样的整数,存储到整型数组a中,并统计得到的整数个数。 输出整数个数及每个整数值。
时间: 2024-11-03 16:23:06 浏览: 8
在C语言中,你可以使用`scanf()`函数读取用户输入的字符串,并通过遍历字符串判断是否包含数字字符,然后将其转换为整数并存入数组。这里是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char s[100]; // 存储输入字符串
int a[10], count = 0; // 存储整数和计数
int num; // 当前处理的整数
printf("请输入一行字符串: ");
fgets(s, sizeof(s), stdin); // 读取一整行,包括换行符
for (size_t i = 0; s[i] != '\0'; i++) {
if (isdigit(s[i])) { // 判断字符是否为数字
num = num * 10 + s[i] - '0'; // 按顺序累加
} else if (num) { // 如果遇到非数字字符,且之前有数字
a[count++] = num; // 将整数存储到数组并更新计数
num = 0; // 清空当前整数
}
}
// 处理最后可能存在的整数
if (num) {
a[count++] = num;
}
printf("整数个数: %d\n", count);
for (int i = 0; i < count; i++) {
printf("整数 %d: %d\n", i+1, a[i]);
}
return 0;
}
```
阅读全文