C语言中,如何用删除法删除数组中相同的数字

例如一个具有10个元素的数组1332511566,删除相同元素后后变为13256,请大虾们帮下忙,最好给出全部程序,必须是删除法,例如发现a[0]==a[5],就用a[6... 例如一个具有10个元素的数组 1 3 3 2 5 1 1 5 6 6,删除相同元素后后变为 1 3 2 5 6,请大虾们帮下忙,最好给出全部程序,必须是删除法,例如发现a[0]==a[5],就用a[6]代替a[5],从而删除a[5] 展开
 我来答
obiwandu
2007-09-26 · TA获得超过113个赞
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
void main()

{
int i,t,n=10; /*n为数组的体积*/
int a[10]={1,3,3,2,5,1,1,5,2,6};
for(int m=0;m<n;m++)
{
t=a[m];
for(i=m+1;i<n;i++)
{
if (t==a[i]) /*判断是否有相同的*/
{
for(int j=i+1;j<n;j++)a[j-1]=a[j];/*后面的数替代前面的*/
n--;
i--;
}
}
}
for(i=0;i<n;i++)printf("%d",a[i]); /*输出*/

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可爱的小知道
2007-09-25 · TA获得超过259个赞
知道答主
回答量:346
采纳率:0%
帮助的人:0
展开全部
要是想用牛刀的话,可以用vector 或list.哈哈哈.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘袁拓
2007-09-27
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
int main()
{
char a[10];
int i,j;
printf("请输入数字\n");
scanf("%s",a);
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]==a[j]) a[j]='#'; //用于标识
}
}
for(i=0;i<10;i++)
{
if(a[i]!='#') printf("%c",a[i]);//用于选择怎么打出
}
printf("\n");
getchar();
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappxZdbgW2m9x13J
2007-09-25 · TA获得超过370个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:214万
展开全部
才5分啊
让别人抢去吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式