300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【C语言习题】有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数

【C语言习题】有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数

时间:2021-02-11 10:25:08

相关推荐

【C语言习题】有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数

题目内容:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。

个人解法如下:

#define _CRT_SECURE_NO_WARNINGS //防报错#include <stdio.h>#include <stdlib.h>int main(){int a[100], N, Nummer, i; //本题并没给出原数组的已有数字个数,所以先给数集的元素数量任意赋值,这里赋值100printf("请输入原数组的已有数字个数:\n");scanf("%d", &N);printf("请输入原数组:\n");for (i = 0; i < N; i++) scanf("%d", &a[i]);printf("请输入欲插入的数:\n");scanf("%d", &Nummer);if (a[0] > a[1]) //若降序 for (int j = 0; j < N; j++) if (a[j] <= Nummer) {int t1 = a[j];a[j] = Nummer;for (int k = j + 1; k < N+1; k++)int t2 = a[k]; a[k] = t1; t1 = t2;break;}else if (a[0] < a[1]) //若升序 for (int j = 0; j < N; j++) if (a[j] > Nummer) {int t1 = a[j];a[j] = Nummer;for (int k = j + 1; k < N+1; k++)int t2 = a[k]; a[k] = t1; t1 = t2;break; }printf("排序后的数组:\n");for (i = 0; i < N+1; i++)printf("%d ", a[i]);return 0;}

本人拙作,请大佬们点评。

【C语言习题】有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数组中。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。