c语言,输入一行若干个整数(小于10个),整数间用半角逗号进行分隔,输出它的区间范围,每个区间边界用半角减号分隔,区间间用半角逗号分隔。 【注意】输入、输出各占一行,运行效果应如下所示(第1行为输入,数据间用半角空格分隔,第2行为输出),格式错误算结果错误。 1 2 3 4 5 6 7 8 10 21 22 23 1-8,10,21-23;
时间: 2023-05-27 14:03:16 浏览: 105
#include <stdio.h>
int main()
{
int nums[10]; // 声明数组存储输入的整数
int i = 0; // i 用于记录已输入的整数个数
// 循环读入整数,直到遇到逗号或者输入达到上限
char c;
while ((scanf("%d%c", &nums[i], &c) == 2) && (c == ',')) {
i++;
}
i++; // 因为最后一个整数后没有逗号,需要将 i 加 1
// 依次扫描整数数组,输出连续的区间范围
int start = nums[0], end = nums[0];
for (int j = 1; j < i; j++) {
if (nums[j] == end + 1) {
end = nums[j];
} else {
if (start == end) {
printf("%d,", start);
} else {
printf("%d-%d,", start, end);
}
start = end = nums[j];
}
}
// 输出最后一个区间
if (start == end) {
printf("%d;", start);
} else {
printf("%d-%d;", start, end);
}
return 0;
}
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)