
简单的c语言编程题1
请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:...
请编写函数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。
老师给的答案是:
int fun(int a[], int n)
{int i, t, j=0, *p=a;
t=p[0];
for(i=0;i<n; i++)
if(t==p[i]);
else {
a[j++]=t; t=p[i];
}
if(i>=n) a[j]=t;
return ++j;
}
要求:不要和这个答案太类似!!!把这个答案改一下也可以,但是要保证让老师觉得是自己做的!!! 展开
老师给的答案是:
int fun(int a[], int n)
{int i, t, j=0, *p=a;
t=p[0];
for(i=0;i<n; i++)
if(t==p[i]);
else {
a[j++]=t; t=p[i];
}
if(i>=n) a[j]=t;
return ++j;
}
要求:不要和这个答案太类似!!!把这个答案改一下也可以,但是要保证让老师觉得是自己做的!!! 展开
1个回答
展开全部
int fun(int a[],int n)
{
int j=0;
int b[];
b=a;
int temp=b[0];
for (int i=0;i<n;i++)
{
if (temp==b[i])
{
}
else
{
a[j+1]=temp;
temp=b[i];
}
if (i>=n) a[j]=temp;
return ++j;
}
}
{
int j=0;
int b[];
b=a;
int temp=b[0];
for (int i=0;i<n;i++)
{
if (temp==b[i])
{
}
else
{
a[j+1]=temp;
temp=b[i];
}
if (i>=n) a[j]=temp;
return ++j;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询