2 zuoside  lord zuoside__lord 于 2017.01.08 14:04 提问

acm 运行错误 但是自己找不出自己代码错误,请赐教 2C

问题 D: 按给出的指定位置排序
时间限制: 1 Sec 内存限制: 1000 MB
提交: 577 解决: 127
状态
题目描述
设有一数列,包含10个数,已按升序排好。现要求编一程序,它能够把从指定位置m开始的n个数按逆序重新排列并输出新的完整数列。

输入
输入:
0 1 2 3 4 5 6 7 8 9
m :4
n : 6
输出
输出:

0 1 2 3 9 8 7 6 5 4

样例输入
0 1 2 3 4 5 6 7 8 9
m:4
n:6

样例输出
0 1 2 3 9 8 7 6 5 4
提示
提交

6个回答

qq_28259903
qq_28259903   2017.01.08 14:14

这我不知啊,这么难。

qq_29566841
qq_29566841   2017.01.08 15:10

请把你的代码贴出来一下。

qq_29566841
qq_29566841   2017.01.08 15:34
 #include<iostream>
using namespace std;



int main() {
    int array[10];

    cout << "请输入数组值:" << endl;
    int i = 0;
    while (i<10)
    {
        cin >> array[i];
        i++;
    }

    cout << "数组值输入完毕,如下:" << endl;
    for (int i = 0; i < 10; i++) {
        cout << array[i] << "  ";
    }

    cout << endl <<"请指定交换顺序的起始位置:" << endl;
    int start;
    cin >> start;

    cout << "请输入需要交换的长度:" << endl;
    int length;
    cin >> length;

    if (start + length > 9) {
        length = 9;
    }

    for (; start < length; start++&&length--) {
        int temp = array[start];
        array[start] = array[length];
        array[length] = temp;
    }

    cout << "交换后的数组为:" << endl;
    for (int i = 0; i < 10; i++) {
        cout << array[i] << "  ";
    }

    cout << endl;
    system("pause");

}![图片说明](http://img.ask.csdn.net/upload/201701/08/1483860848_242009.png)
qq_29566841
qq_29566841   2017.01.08 15:39

你如果是使用C语言的话,在上边代码的基础上改一改头文件和输入输出代码就可以了。

u011889952
u011889952   2017.01.08 15:48

使用一个qsort然后写一个相反的compare函数不就可以了吗?

lwlldd
lwlldd   2017.01.08 15:58

运行错误是指?程序出错,还是oj提交返回WA?
直接使用sort函数,重载cmp比较符号,即可实现,sort是c++stl里的一个库函数,楼主可以自己百度学习下,这些简单的库函数是ACM比赛中常用的,
作为新手入门也可以去借鉴学习,所用到的头文件是
以下为AC代码:
#include
#include
#include
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int n,m;
int a[15];

void solve(){
sort(a+m,a+m+n,cmp);
}

int main(){

for(int i=0;i<10;i++){
    scanf("%d",&a[i]);
}

scanf("%d %d",&m,&n);

solve();

for(int i=0;i<10;i++)
if(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
printf("\n");
return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!