bianchengxz 2017-08-01 08:16 采纳率: 33.3%
浏览 931
已采纳

c语言编程问题,编写函数实现给定功能

编写一个已经从小到大排好序的一维数组目的是把里面重复的删除例如原来的数组是
2 2 2 3 3 4 5 5 6 6 6 6 7 8 9 10 10,程序运行完为2 3 4 5 6 7 8 9 10,我自己写出来了,但是不知道哪里出错了,求各位大神帮帮忙
int i;
n=0;
for(i=0;i<N;i++)
{
if(a[i]<a[i+1])
{a[n]=a[i];n++;}
}
return n;
}
这里的a数组是题目给出来的,N是a数组里面元素个数,n是程序结束后a数组里面还有多少个元素。在线等,谢谢!

  • 写回答

6条回答 默认 最新

  • hpu刘 2017-08-01 08:48
    关注

    循环到数组最后一位会发生越界错误,需要对最后一位单独判断,试试下面的:
    int i;
    n=0;
    for(i=0;i<N-1;i++)
    {
    if(a[i]<a[i+1])
    {a[n]=a[i];n++;}
    }
    if(a[N-2]<a[N-1])
    a[n]=a[N-1];
    n++;
    return n;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)