标题:怎么看都没看出哪错了感觉逻辑一点都没有希望大神解决
只看楼主
qwq198406728
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-25
结帖率:0
已结贴  问题点数:20 回复次数:4 
怎么看都没看出哪错了感觉逻辑一点都没有希望大神解决
  图片是运行效果图
想要实现一个排序好一个数组 然后输入一个数 插入数组 重新排列输出 看了半天不知道为毛错了感觉逻辑没错
#include "stdio.h"
#include"stdlib.h"

int main(void)
{
    int a[]={123,321,456,654,789,987,444,666,555};
    int re;
     int lengh=sizeof(a)/sizeof(int);/*获取数组长度 */
        int import;
     
    int p=0;
    for (int i = 0; i<lengh; i++)
    {
        for (int j = i+1; j<lengh ;j++)/*排序代码 */
        {
            if(a[i]>a[j] )
            {  p =a[i];
              a[i]  =a[j];
              a[j] = p;

            }
                   /* code */
        }
          /* code */
    }
     for (int i = 0; i < lengh; i++)/*遍历数组 */
            {
                printf("%d   ",a[i]);
                /* code */
            }      
        scanf("%d",&import);/*输入一个数 */
        /* a[]={123,321,456,654,789,987,444,666,555};*/
       a[lengh]=import;/*将数放入数组末加一个元素 */
       lengh++;/*长度加1 */
     for (int i = 0; i <lengh; i++)
        {
             if (a[i]>a[lengh-1])/*如果a[i]小于a[lengh-1]交换位置*/
             {int t;
              t=a[i];
              a[i]=a[lengh-1];
              a[lengh-1]=t;
              re=i;/*记录i */         
              break;
            }      
        }
     for (int i = re; i<lengh; i++)/*从开始排序排序 */
        for (int j = i+1; j<lengh ;j++)
        {
            if(a[i]>a[j] )
            {
              p=a[i];
              a[i]=a[j];
              a[j]=p;

            }
        }
         
        for (int i = 0; i < lengh; i++)/*遍历输出 */
      {
        printf("%d   ",a[i]);
      
     }      

system("pause");

    return 0;
}
搜索更多相关主题的帖子: 逻辑 数组 int for i++ 
2019-07-25 01:12
qwq198406728
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-25
得分:0 
2019-07-25 01:12
qwq198406728
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-25
得分:0 

2019-07-25 01:13
qwq198406728
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-25
得分:0 
回复 2楼 qwq198406728
这个是运行效果图
2019-07-25 01:13
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
数组元素个数要加多一个,数组要分配多一个元素的空间。
另,找到插入位置后将后面的整块后移一个元素位再插入新元素,不用再排序。
2019-07-25 04:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496017-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.416578 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved