C语言编一个程序,输入一个字符串存入一维数组,然后取出其中第1次出现的若干个连续数字字符,将其转换成一个无符号整数并输出。
时间: 2024-12-22 21:13:03 浏览: 5
统计单词个数&&将字符串中连续出现的数字放进一维数组
4星 · 用户满意度95%
在C语言中,你可以使用`scanf`函数读取用户输入的字符串,`isdigit`函数检查字符是否为数字,以及`atoi`函数将连续的数字字符转换为整数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int size;
printf("请输入字符串长度: ");
scanf("%d", &size);
// 一维数组存储输入的字符串
char str[size + 1]; // 加1是为了存储'\0'终止符
printf("请输入字符串: ");
fgets(str, size, stdin); // 使用fgets防止换行符被读入
// 遍历字符串,查找连续的数字并转换为整数
int num = 0; // 初始化结果变量
int start = -1; // 存储开始位置,初始化为-1表示还未找到连续数字
for (int i = 0; i < size; ++i) {
if (isdigit(str[i])) { // 如果遇到数字字符
if (start == -1) { // 如果还没开始,记录起始位置
start = i;
}
num = num * 10 + (str[i] - '0'); // 拼接数字到num
} else { // 非数字字符,结束处理当前数字序列
if (start != -1) { // 如果有连续的数字
printf("第一个连续数字序列的整数值: %u\n", num);
num = 0; // 重置num
start = -1;
}
}
}
return 0;
}
```
阅读全文