描述 请进行如下输入输出的转换: 例如: "1" -> "1" "1-3" -> "1,2,3" "1-2,4" -> "1,2,4" "1-4,7-10" -> "1,2,3,4,7,8,9,10" "1-4,6,7-10" -> "1,2,3,4,6,7,8,9,10" 输入描述 给定一个整形数组的字符串,带"-"和","进行分隔,例如"1-2,4,6-7" 。 输出描述 输出为输入字符串范围的整数,使用","分隔。
时间: 2023-07-22 15:08:24 浏览: 145
你可以使用以下的 C 代码来实现整形数组字符串到范围整数的转换:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void convertRange(char* str) {
int len = strlen(str);
int start = -1;
int end = -1;
for (int i = 0; i < len; i++) {
if (str[i] == '-') {
start = str[i-1] - '0';
end = str[i+1] - '0';
if (start <= end) {
printf("%d", start);
for (int j = start + 1; j <= end; j++) {
printf(",%d", j);
}
}
} else if (str[i] == ',') {
if (start == -1) {
printf("%c", str[i-1]);
}
start = -1;
} else if (i == len - 1) {
if (start == -1) {
printf("%c", str[i]);
}
}
}
}
int main() {
char input[201];
printf("请输入整形数组的字符串:");
scanf("%200s", input);
convertRange(input);
printf("\n");
return 0;
}
```
你可以输入一个整形数组的字符串,程序将按照规则进行转换,并输出范围整数。输出使用逗号进行分隔。
阅读全文