c++编写程序,输入一行若干个整数(小于10个),整数间用半角逗号进行分隔,输出它的区间范围,每个区间边界用半角减号分隔,区间间用半角逗号分隔
时间: 2023-05-26 11:07:01 浏览: 157
#include <stdio.h>
int main() {
int nums[10]; // 最多输入10个整数
char comma; // 半角逗号
int count = 0; // 输入的整数个数
// 输入一行整数,用半角逗号分隔
while (scanf("%d%c", &nums[count], &comma) == 2) {
count++;
if (comma == '\n' || count >= 10) { // 遇到回车或达到最大数目,结束输入
break;
}
}
// 排序
for (int i = 0; i < count - 1; i++) {
for (int j = i + 1; j < count; j++) {
if (nums[j] < nums[i]) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
// 输出结果
int start = nums[0];
int end = nums[0];
for (int i = 1; i < count; i++) {
if (nums[i] == end + 1) {
end = nums[i];
} else {
// 输出一个区间
printf("%d-%d", start, end);
if (i < count - 1) { // 不是最后一个区间,输出逗号分隔符
printf(",");
}
start = end = nums[i]; // 开始下一个区间
}
}
// 输出最后一个区间
printf("%d-%d", start, end);
return 0;
}
阅读全文