想用c语言,先依次定义一组数组,之后在将数组排列,然后向数组中插入一个数据排序依旧成立
代码可以跑,排序也可以正常运行,但无法正常插入数据,代码如下
#include<stdio.h>
#define s 10
int main()
{
int sz[s+1], num;
for (int i = 0; i < s; i++) {
scanf_s("%d", &sz[i]);
printf("sz[%d]=%d\n",i,sz[i]);
}
printf("输出经排序后所得的数组\n");
for (int r = 0; r < s; r++) {
for (int e = 0; e < s - r - 1; e++) {
if (sz[e] > sz[e + 1]) {
int n = sz[e];
sz[e] = sz[e + 1];
sz[e + 1] = n;
}
}
}
for (int i = 0; i < s; i++)
printf("%d\n", sz[i]);
printf("请输入你希望加入的值:");
scanf_s("%d", &num);
for (int j = 0; j < s; j++) {
if (num >= sz[j]) {
for (int i = s; i >= j; i--) {
sz[i] = sz[i - 1];
}
}
}
for (int x = 0; x < s+1; x++) {
printf("%d\n", sz[x]);
}
return 0;
}
希望可以指出错误,改正后希望可以帮忙优化一下(大一新生,学c语言一个月,希望不要太难)