0
点赞
收藏
分享

微信扫一扫

C 练习实例39

Soy丶sauce 2022-01-04 阅读 44

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

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

代码1:

#include<iostream>
#include<list>
using namespace std;
int main()
{
	int number;
	list<int>lis;
	list<int>::iterator it;
	int a[10] = {1,3,5,7,9,11,13,15,17,19};
	for (int i = 0; i < 10; i++)
		lis.push_back(a[i]);
	cin >> number;
	lis.push_back(number);
	lis.sort();
	for (it = lis.begin(); it != lis.end(); it++)
		cout << *it << ' ';
	return 0;
}

代码2:

#include<iostream>
using namespace std;
int main()
{
	int a[11] = { 1,4,6,9,13,16,19,28,40,100 };
	int temp1, temp2, number, end, i, j;
	cout << "原数组是:" << endl;
	for (i = 0; i < 10; i++)
		cout<<a[i]<<' ';
	cout << endl << "输入一个新数字:";
	cin >> number;
	end = a[9];
	if (number > end)//不需要移位
		a[10] = number;
	else
	{
		for (i = 0; i < 10; i++)
		{
			if (a[i] > number)
			{
				temp1 = a[i];
				a[i] = number;
				for (j = i + 1; j < 11; j++)
				{
					temp2 = a[j];
					a[j] = temp1;
					temp1 = temp2;
				}
				break;
			}
		}
	}
	for (i = 0; i < 11; i++)
		cout << a[i] << ' ';
	return 0;
}
举报

相关推荐

C 练习实例38

C 练习实例89

C 练习实例83

C 练习实例100

C 练习实例99

C 练习实例40

C 练习实例42

C 练习实例88

C 练习实例41 - static

0 条评论