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]
展开
9个回答
展开全部
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]); /*输出*/
}
{
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]); /*输出*/
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要是想用牛刀的话,可以用vector 或list.哈哈哈.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
才5分啊
让别人抢去吧
让别人抢去吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询