c语言如何在一串数里面挑出十位数与八位数
时间: 2024-11-13 15:24:53 浏览: 15
在C语言中,如果你想从一串数字字符串中挑选出特定的十位数和八位数,你可以通过遍历字符串并分割数字来实现。这里我们可以假设输入是一个整数型字符串,而不是混合类型的数串。
首先,你需要将字符串转换成整数数组(如果有小数点,则需要处理小数部分),然后可以创建两个指针分别指向数组的起始位置和第十一位开始的位置。对于每个整数,你可以检查当前元素是否位于十位(即从0到9),如果是,就提取出来。类似地,检查第八位(即从100到999)并记录结果。
下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 假设输入的字符串已转换为整数数组
int* numbers;
char input[100];
int len;
void extract_digits(int digit_pos) {
int index = 0; // 用于存储找到的十位或八位数的位置
for (int i = 0; i < len; ++i) {
if (numbers[i] >= 10 && numbers[i] <= 99) { // 检查八位数
printf("八位数: %d ", numbers[i]);
index++;
} else if (digit_pos == 1 && numbers[i] >= 10 && numbers[i] < 100) { // 检查十位数
printf("十位数: %d ", numbers[i]);
index++;
}
// 如果到达了我们要找的位数位置,结束遍历
if (index == digit_pos) {
break;
}
}
}
int main() {
// ... 读取或初始化输入数组 numbers 和长度 len ...
extract_digits(1); // 提取十位数
extract_digits(2); // 提取八位数
return 0;
}
```
阅读全文