用c语言编写一程序实现以下功能 ①程序运行时先显示Please input numbers:,再从键盘上读入一组整数(只考虑int型),数与数之间只使用空格或回车作分隔。 数可正可负,最多10000个,但若读入的数为-222时,则表示输入结束且-222不算在该组数内。 ②对这一组数按从小到大的顺序进行排序。 ③将排序后的这一组数输出到屏幕上,输出格式为每行6个数,数与数之间使用逗号(,)分隔,两个逗号之间的宽度(不算逗号)为6且使用左对齐格式。注意,行尾没有逗号。
时间: 2023-04-12 07:01:16 浏览: 424
以下是用 C 语言编写的程序,实现以上功能:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUMBERS 10000
int cmp(const void *a, const void *b) {
return *(int *)a - *(int *)b;
}
int main() {
int numbers[MAX_NUMBERS];
int count = 0;
int num;
printf("Please input numbers:\n");
while (scanf("%d", &num) == 1 && num != -222) {
numbers[count++] = num;
}
qsort(numbers, count, sizeof(int), cmp);
for (int i = 0; i < count; i++) {
printf("%-6d", numbers[i]);
if ((i + 1) % 6 == 0) {
printf("\n");
} else if (i != count - 1) {
printf(", ");
}
}
if (count % 6 != 0) {
printf("\n");
}
return 0;
}
```
注意,这个程序只能处理最多 10000 个整数,如果输入的整数超过了这个数量,程序会出错。另外,如果输入的整数中有非法字符,程序也会出错。
阅读全文