m0_64977377 2021-12-16 23:43 采纳率: 100%
浏览 69
已结题

设数组a中的数,从小到大顺序存放,把a数组中相同的数删的只剩一个然后以每行5个数的形式输出a数组中的数(C语言)。填空填啥啊,想不出来,我是废物

#include "studio.h"
#define MAX 20
main()
{intense a[MAX],i,j,n ;
for(i=0;i<MAX;i++) scanf("%d",【1】_);
/读入数到a数组中/
n=i=19;
while(【2】)
{if(a[i]=a[i-1])
{for(j=【3】;j<=n;j++) a[【4】 _]=a[j]; n=【5】
}
i=【6】;
}
for(i=0;i<=n;i++)
{if(【7】) printf("\n");
printf("%3d",a[i]);
}
}

  • 写回答

1条回答 默认 最新

  • 关注
    #include <stdio.h>
    #define MAX 20
    main()
    {
        int a[MAX], i, j, n;
        for (i = 0; i < MAX; i++)
            scanf("%d",&a[i]);  //1】 &a[i]
        n = i = 19;
        while (i>=1) //2】 i>=1
        {
            if (a[i] == a[i - 1])  //这里应该是 ==
            {
                for (j = i; j<=n; j++)  //3】 i
                    a[j-1] = a[j];     //4】 i-1
                n = n-1;           //5】 n-1
            }
            i = i-1;          //6】 i-1
        }
        for (i = 0; i <= n; i++)
        {
            if (i%5==0)      //7】 i%5==0
                printf("\n");
            printf("%3d", a[i]);
        }
    }
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月25日
  • 已采纳回答 12月17日
  • 创建了问题 12月16日