c语言 去掉数组中重复的元素····求帮助

输入a[]={1,2,1,7,3,2,3,4,5,8,7,6}输出为12734586... 输入a[]={1,2,1,7,3,2,3,4,5,8,7,6} 输出为1 2 7 3 4 5 8 6 展开
 我来答
飞丶逐梦
推荐于2017-09-07 · TA获得超过233个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:190万
展开全部
#include <stdio.h>
int main()
{
int a[]={1,2,1,7,3,2,3,4,5,8,7,6};
int i;
int j;
for(i=0;i<12;i++)
for(j=0;j<i;j++)
if(a[j]==a[i])
a[i]=0;
for(i=0;i<12;i++)
if(a[i]!=0)
printf("%d,",a[i]);
}
我这个方法不适用与数组中有0的情况,如果数组中有0的话,可以把a[i]=0和if(a[i]!=0)上的0改成其他数组中没有的数就行了
匿名用户
2013-07-30
展开全部
说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚,应该是在数据写入数组的时候将其删除吧。你可以这样,如果数组不大,在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-30
展开全部
我用的是字符数组。。。其实方法都一样。。#include <stdio.h>
#include <string.h>
#define MAXSIZE 100int main()
{
char array[MAXSIZE];
char del; //要删除的元素
int len, i, j;
printf( "请输入数据:");
gets( array );
printf( "请输入要删除的元素!!!:" );
scanf( "%c", &del );
len = strlen(array);
for( i = 0; i < len; i++ )
{
if( del == array[i] )
{
for( j = i; j < len; j++ )
{
array[j] = array[j+1];
}
i--;
}
}
i = 0;
while( array[i] != '\0' )
{
printf( "%c",array[i] );
i++;
}
printf( "\n" );
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
董俊锟djk
2012-08-21 · TA获得超过2550个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1009万
展开全部
#include<stdio.h>
void main()
{
int n,a[100],b[100],i,j,k = 0,flag = 1;
printf("please input n(n < 100): ");
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d",&a[i]);
for(i = 0; i < n; i++)
{
flag = 1;
for(j = 0; j < k; j++)
if(a[i] == b[j])
flag = 0;
if(flag)
{
b[k] = a[i];
k++;
}
}
for(i = 0; i < k; i++)
{
printf("%-4d",b[i]);
if((i + 1) % 10 == 0)
printf("\n");
}
}
追问
亲 能解释一下吗? ····看不太明白··
追答
第一次输入的是个数,如你输入5按回车就输入五个数

参考资料: http://zhidao.baidu.com/question/459860125.html?oldq=1

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叁芯意桶
2017-11-09 · 超过11用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:12.9万
展开全部
#include int main() { int a[]={1,2,1,7,3,2,3,4,5,8,7,6}; int i; int j; for(i=0;i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式