我有这个 void 函数,我在我的某个时间点调用main()
void calc(int dim){
int a[dim],i,j,temp;
for(int i=0;i<dim;i++)
{
printf("\n\n Type a number - [%d/%d]: \t",i+1,dim);
scanf("%d", &a[i]);
}
for(i=0;i<dim;i++)
{
for(j=i+1;j<dim;j++) {
if(a[i]==a[j])
{
continue;
}
else
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
printf("%d", a[j]);
}
}
}
for(i=0;i<dim;i++)
printf("%d", a[i]);
}
输入参数dim
是数组的维度。您看到的代码完美运行,因为它对我的数组中的数字进行排序。
如果用户输入 4 5 8 7 5 作为输入数字,我想要这样的输出:8 7 5 4。我必须删除重复的数字,所以我写道:
if(a[i]==a[j])
{
continue;
}
顺便说一句,输出仍然是 8 7 5 5 4。我该如何解决这个问题?