#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;
}
-
数组初始化:
int a[15] = {1, 4, 3, 4, 4, 2, 3, 5, 3, 2, 5, 4};
数组
a
被初始化为包含 15 个整数的数组。 -
外层循环:
for(i = 0; i < m - n; i++)
外层循环用于遍历数组中的每个元素,其中
m
是数组长度,n
是删除的元素计数器。 -
内层循环:
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--;
递增删除元素的计数器,并将内层循环的控制变量
j
减一,以确保下次循环检查相同的数组索引。 -
打印修改后的数组:
for(i = 0; i < m - n; i++) printf("%3d", a[i]);
打印修改后的数组,只打印不包含重复元素的部分。
-
打印删除的元素数量:
printf("n总共删除了 %d 个数据项", n);
原文地址:https://blog.csdn.net/2303_80475208/article/details/134859921
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_50521.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!