输入10个整数存入数组中,将其中比第一个数大的数存入数组中,比第一个数小的数存入另一个数组中,最后再将这两个数组连接起来形成一个新的数组,输出C语言,代码详解
时间: 2023-06-06 16:06:34 浏览: 117
好的,我明白了您的要求。
以下是您所需要的C语言代码:
```c
#include <stdio.h>
#define MAX_LENGTH 10
int main() {
int num[MAX_LENGTH], larger[MAX_LENGTH], smaller[MAX_LENGTH];
int i, j, num_len = 0, larger_len = 0, smaller_len = 0;
// 读入10个整数
printf("请输入10个整数:");
for (i = 0; i < MAX_LENGTH; i++) {
scanf("%d", &num[i]);
}
// 将比第一个数大的数存入larger数组中,比第一个数小的数存入smaller数组中
for (i = 1; i < MAX_LENGTH; i++) {
if (num[i] > num[0]) {
larger[larger_len++] = num[i];
} else {
smaller[smaller_len++] = num[i];
}
}
// 将larger数组和smaller数组连接起来形成一个新数组
for (i = 0; i < larger_len; i++) {
num[num_len++] = larger[i];
}
for (i = 0; i < smaller_len; i++) {
num[num_len++] = smaller[i];
}
// 输出新数组
printf("新数组为:");
for (i = 0; i < MAX_LENGTH; i++) {
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
```
代码详解:
首先定义了三个整型数组 `num`、`larger` 和 `smaller`,分别用来存储输入的10个整数、比第一个数大的数和比第一个数小的数。同时定义三个整型变量 `num_len`、`larger_len` 和 `smaller_len`,分别表示三个数组的长度。
使用 `for` 循环逐个读入10个整数,并存储到 `num` 数组中。
使用 `for` 循环逐个判断 `num` 数组中的元素,将比第一个数大的数存入 `larger` 数组中,比第一个数小的数存入 `smaller` 数组中。注意,这里要从 `i=1` 开始循环,因为第一个数已经存入 `num[0]` 中了。
使用另外两个 `for` 循环将 `larger` 数组和 `smaller` 数组连接起来,形成一个新的数组 `num`。
最后,输出新数组的值,完成程序。
希望能帮到您,如果您有任何问题或需求,随时都可以告诉我。
阅读全文