c++编程 求大佬过程
c++编程求大佬过程键盘上输入10个数,升序排序后存放在数组a中(用函数sort实现),输入一个数,按照升序方式插入到数组a的合适位置(用函数insert实现)...
c++编程 求大佬过程键盘上输入10个数,升序排序后存放在数组a中(用函数sort实现),输入一个数,按照升序方式插入到数组a的合适位置(用函数insert实现)
展开
1个回答
展开全部
#include <cstdlib>
#include <iostream>
using namespace std;
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int len) {
for (int i = 0; i < len; i++)
{
for (int j = len-1; j > i; j--)
{
if (a[j] < a[j-1])
{
swap(&a[j], &a[j-1]);
}
}
}
}
int insert(int *a, int len, int k) {
if (k<a[0]) {
for (int i=len-1;i>0;i--) {
a[i+1]=a[i];
}
a[0]=k;
return len++;
}
for (int i=0; i<len; i++) {
if (k<a[i]) {
for (int j=len-1;j>=i;j--) {
a[j+1]=a[j];
}
a[i]=k;
break;
}
}
return len++;
}
void display(int *a, int len) {
for (int i=0; i<len; i++) {
cout << a[i] << " ";
}
cout << endl;
}
int main() {
int a[100] = {-1};
cout << "输入10个数" << endl;
for (int i=0; i<10; i++) {
cin >> a[i];
}
cout << "这10个数是" << endl;
display(a, 10);
cout << "由小到大排序" << endl;
sort(a, 10);
display(a, 10);
cout << "插入一个数" << endl;
int k = 0;
cin >> k;
insert(a, 10, k);
display(a, 11);
return 0;
}
#include <iostream>
using namespace std;
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int len) {
for (int i = 0; i < len; i++)
{
for (int j = len-1; j > i; j--)
{
if (a[j] < a[j-1])
{
swap(&a[j], &a[j-1]);
}
}
}
}
int insert(int *a, int len, int k) {
if (k<a[0]) {
for (int i=len-1;i>0;i--) {
a[i+1]=a[i];
}
a[0]=k;
return len++;
}
for (int i=0; i<len; i++) {
if (k<a[i]) {
for (int j=len-1;j>=i;j--) {
a[j+1]=a[j];
}
a[i]=k;
break;
}
}
return len++;
}
void display(int *a, int len) {
for (int i=0; i<len; i++) {
cout << a[i] << " ";
}
cout << endl;
}
int main() {
int a[100] = {-1};
cout << "输入10个数" << endl;
for (int i=0; i<10; i++) {
cin >> a[i];
}
cout << "这10个数是" << endl;
display(a, 10);
cout << "由小到大排序" << endl;
sort(a, 10);
display(a, 10);
cout << "插入一个数" << endl;
int k = 0;
cin >> k;
insert(a, 10, k);
display(a, 11);
return 0;
}
追问
大佬真是神一般的存在
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询