定义函数 int fun(int a[],int n),形参数组 a 中的数组元素值已按从小到大的顺序排序,fun 函数的功能是删除形参一维数组中所有相同的数,使之只剩下一个,函数返回删除 后数组中数据的个数。main 函数进行 fun 函数功能的测试。
n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
你题目的解答代码如下:
#include <stdio.h>
int fun(int a[],int n)
{
int m=1,i;
for(i=1;i<n;i++)
if (a[i]!=a[i-1])
a[m++] = a[i];
return m;
}
int main()
{
int a[] = {1,2,2,3,4,4,4,5}, i,m;
m=fun(a,8);
for(i=0;i<m;i++)
printf("%d ",a[i]);
return 0;
}
如有帮助,望采纳!谢谢!
双重循环遍历搜索每个整数,相同则删除后一个
int fun(int a[],int n)
{
int m=1;
int prev = a[0];
for(int i=1;i<n;i++)
{
if(a[i] == prev)
continue;
else
{
a[m++] = a[i];
prev = a[i];
}
}
return m;
}
int main()
{
int a[10];
for(int i=0;i<10;i++)
scanf("%d",&a[i]);
printf("%d",fun(a,10));
return 0;
}