c语言中用指针完成对重复数字的删除,注意 一定要用指针啊!!求解!下午就要考试了

2024-11-07 10:36:31
推荐回答(1个)
回答(1):

重复数字是给定的吗?
#include

#define Input_Num 20

int Data[Input_Num]={0};

int Result[Input_Num]={0};

int Num=0;

void InputData()

{
int i=0;
printf("Input Data(Num<%d):\n",Input_Num);

for(i=0;i
{

scanf("%d",(Data+i));

Num=i+1;

if(getchar()=='\n')

{

break;

}

}
}

void FindRepeat()

{

int i=0,j=0;

printf("Finding...\n");

for(i=0;i
{

if(*(Result+i)==0)

{

for(j=i+1;j
{

if(*(Data+i)==*(Data+j))

{
*(Result+i)=1;
*(Result+j)=-1;

}

}

}

}

}

void printf_Result()

{

int repeat_num=0,lone_num=0;

int i=0;

for(i=0;i
{
if(*(Result+i)==1)
repeat_num++;
if(*(Result+i)==0)
lone_num++;

}

printf("重复的数字有%d个:\n",repeat_num);

for(i=0;i
if(*(Result+i)==1)

printf("%d ",*(Data+i));

putchar('\n');

printf("不重复的数字有%d个:\n",lone_num);

for(i=0;i
if(*(Result+i)==0)

printf("%d ",*(Data+i));

putchar('\n');

}

void main()

{

InputData();

FindRepeat();

printf_Result();

}
不知道符不符合你要求。。。