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");

}![图片说明](https://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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ACM比赛中常见的错误
常见错误 原因分析 Runtime Error 表示程序因为非法内存访问或未处理异常而结束,常见的有数组越界等 Memory Limit Exceeded 表示程序使用的内存超过规定的内存限制 Time Limit Exceeded 表示程序运行的时间超过题目规定的时间 Output Limit Exceeded 表示程序输出的内容过多,超过了
为什么程序员发现不了自己的BUG
最近在朋友圈流行了这样的一张小学数学题,当然结果是“出乎意料”,看似简单的结果,几乎很少有人作对,而分析下来的原因无非是惯性思维下的粗心导致完全错误,那么小编带大家分析下思考过程。看图可知,猫=X 猫头=Y 猫爪=Z 既3X=30X+Y+Y=20Y+Z+Z=9所以X=10 Y=5 Z=2故结果 Y+Z+X=5+2+10=17一般大多数的第一结果可能都是这样!等等,注意最后一个应该是Y+Z×X=?心
ACM错误提示/错误原因
Compiling Restricted Function Compilation Error Running Time Limit Exceeded Memory Limit Exceeded Runtime Error:SIGFPE Runtime Error:SIGSEGV Presentation Error Accepted Wrong Answer
新手求助,请赐教!
我以前没有任何VC的编程基础,现在逼不得以要学.net,请问要从那方面入手,能不能推荐几本零起点的书,不胜感激!
如何提高自己的acm个人能力
本来以为HNU的huicpc035和我一样退役了,后来听说他组成了新的footman队,于是又关注了下他。 035体现了两个我觉得非常重要的品质: 1、刻苦的训练 2、有效的训练   (本文将主要讨论个人训练,不讨论团队合作) 而这些品质对于我们弱校ACMer选手水平的提高我觉得很重要。(注意:仅限于我们ACM-ICPC的弱校,即最多只能勉强摘银的学校,不要一概
ACM过程中的提交结果(新手必看!)
备注:以下内容全都是来自我平时写程序过程中的总结,如有纰漏,请大家指正,并多多包涵 Accepted (正确) 当你在某一ACM在线测评系统上提交了你的代码后,如果你得到了一个Accepted,简称AC,恭喜你,通过了这道题,你的代码是正确的。除了Accepted之外的所有结果,都是不符合要求的。 Compile Error(编译错误) 简称CE。通常是指语法错误,这是...
NYOJ-849“路痴”ST【最小生成树】
“路痴“ST 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描述          当大一新生ST刚到新的学校的时候对自己的大学校园充满了好奇。但是ST是一个典型的路痴,所以每次出去之后都要想好回到原处的路线(即,从某点A出发,最终将回到A)。现在ST很想好好的参观一下美丽的校园,且ST开始的时候从某处出发选择的路都是双向的。假设经过的路线为V1,V2,...
编译错误和运行错误;
编译错误指的是你写代码不规范,语法错误(简单说就是你代码这么写没有问题,但是你知道会在运行时候报错)和一些很明显的错误。运行错误是指代码逻辑错误,报异常。 DataStream有什么用 存取对象的属性; String.getBytes();获取String的byte;
CCF CSP 编译错误问题
CCF CSP 编译错误
【ACM】OJ常见错误原因(随时更新)
Waiting:正在评测程序。 Compiling:正在编译程序。 Accepted:程序正确。 Wrong Answer:程序运行结果与正确结果不一样。 Time Limit Exceeded:运行时间超出了要求。 Memory Limit Exceeded:程序运行占用内存超出了标准。 Runtime Error:程序在运行的时候异常退出。 Compile Error:编译错误。(