本文介绍: 内层循环从当前元素的下一个元素开始,用于与当前元素比较,查找重复项。使用循环将重复元素之后的元素依次前移,覆盖重复的元素。递增删除元素的计数器,并将内层循环的控制变量。打印修改后的数组,只打印不包含重复元素的部分。减一,以确保下次循环检查相同的数组索引。外层循环用于遍历数组中的每个元素,其中。被初始化为包含 15 个整数的数组。如果发现重复元素,进入以下步骤。是删除的元素计数器。

#include<stdio.h>

int main()

{

    int a[15]= {1,4,3,4,4,2,3,5,3,2,5,4};

    int n=0,i,j,k,m=15;

    for(i=0; i<m-n; i++)

    {

        for(j=i+1; j<m-n; j++)

            if(a[j]==a[i])

            {

                for(k=j; k<m-n; k++)

                    a[k]=a[k+1];

                n++;

                j–;

            }

    }

    for(i=0; i<m-n; i++)

        printf(“%3d”,a[i]);

    printf(“nA total of %d data entries were deleted”,n);

    return 0;

}

  1. 数组初始化:

    int a[15] = {1, 4, 3, 4, 4, 2, 3, 5, 3, 2, 5, 4};

    数组 a 被初始化为包含 15 个整数的数组。

  2. 外层循环:

    for(i = 0; i < m - n; i++)

    外层循环用于遍历数组中的每个元素,其中 m 是数组长度,n 是删除的元素计数器。

  3. 内层循环:

    for(j = i + 1; j < m - n; j++)

    内层循环从当前元素的下一个元素开始,用于与当前元素比较,查找重复项。

  4. 重复元素检测:

    if(a[j] == a[i])

    如果发现重复元素,进入以下步骤。

  5. 删除重复元素:

    for(k = j; k < m - n; k++) a[k] = a[k + 1];

    使用循环将重复元素之后的元素依次前移,覆盖重复的元素。

  6. 计数器递增和内层循环控制:

    n++; j--;

    递增删除元素的计数器,并将内层循环的控制变量 j 减一,以确保下次循环检查相同的数组索引。

  7. 打印修改后的数组:

    for(i = 0; i < m - n; i++) printf("%3d", a[i]);

    打印修改后的数组,只打印不包含重复元素的部分。

  8. 打印删除的元素数量:

    printf("n总共删除了 %d 个数据项", n);

原文地址:https://blog.csdn.net/2303_80475208/article/details/134859921

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_50521.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注