用C语言编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
时间: 2024-05-12 16:18:59 浏览: 31
```c
int fun(int a[], int n)
{
int i, j, k;
k = 1; // 初始化,第一个数一定不会被删除
for (i = 1; i < n; i++) { // 从第二个数开始遍历
if (a[i] != a[i-1]) { // 如果不与前一个数相同,则保留
a[k++] = a[i]; // 将其放到数组前面,k加1
}
}
return k; // 返回删除后数组中数据的个数
}
```
相关问题
用C语言编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
以下是一个可能的解法:
```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,即为删除重复数后数组中数据的个数。
请编写函数fun, 函数的功能是: 删去一维数组中所有相同的数, 使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如, 一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。用c语言编写
以下是函数fun的实现:
```c
int fun(int arr[], int n) {
if (n <= 1) {
// 数组长度小于等于1,直接返回
return n;
}
int i, j;
j = 0;
for (i = 1; i < n; i++) {
if (arr[i] != arr[j]) {
// 如果当前元素与前一个元素不同,将其保存
arr[++j] = arr[i];
}
}
// 返回保存的元素个数
return j + 1;
}
```
函数接收一个一维数组和数组长度n作为参数。函数会遍历数组,如果当前元素与前一个元素不同,则将其保存到数组中。最后返回保存的元素个数即可。
注意,这里的数组已经按从小到大的顺序排列。如果数组没有排过序,需要先对数组进行排序。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)