我编写了一段代码来删除重复值并在该位置添加 0。 但我觉得我的代码应该比这好得多,如果有人能更好地了解开发这段代码的话。 请给我建议和建议。
- 输入--2,3,4,3,6
- 输出--2,3,4,0,6
这是我的代码:
#include<stdio.h>
int main()
{
int a[100],b[100];
int i,j,size;
scanf("%d",&size);
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<size;i++)
{
b[i]=a[i];
}
for(i=0;i<size;i++)
{
for(j=i+1;j<size;j++)
{
if(a[i]==a[j])
{
b[j]=0;
}
}
}
for(i=0;i<size;i++)
printf("%d\n",b[i]);
return 0;
}
最佳答案
清除重复项,如下所示,与目前输入的值进行比较:
#include<stdio.h>
int main() {
int a[100];
int i,j,size;
scanf("%d",&size);
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
for(j=0;j<i;j++){
if(a[j]==a[i]) {
a[i]=0; /* found duplicate among previous entries! */
break;
}
}
}
for(i=0;i<size;i++)
printf("%d\n",a[i]);
return 0;
}
关于c - 删除重复值并在其位置添加 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30562016/