用C语言编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
时间: 2024-05-13 08:21:05 浏览: 75
C语言程序设计-编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1+13+15+17+…+1(2m+1)
5星 · 资源好评率100%
以下是一个可能的解法:
```c
int fun(int arr[], int n) {
int i, j;
for (i = 0, j = 1; j < n; j++) {
if (arr[j] != arr[i]) {
arr[++i] = arr[j];
}
}
return i + 1;
}
```
该函数的思路是使用两个指针 i 和 j,其中 i 指向当前已经处理好的不重复的数的最后一个位置,j 指向当前正在处理的数的位置。初始时 i=0,j=1。
每次比较 arr[j] 和 arr[i] 是否相等,如果不相等,则说明找到了一个新的不重复的数,将其放到 arr[++i] 的位置上,并且 j 移动到下一个位置继续处理。如果相等,则说明 arr[j] 是一个重复的数,直接跳过。
最后返回 i+1,即为删除重复数后数组中数据的个数。
阅读全文