#include<stdio.h>
struct test{
int data;
int bj;
}*test1;
int test2(int n){
if(n>3){
for(int i=0,j=0,t;i<n/2;i++)
{
if(test1[i].data==test1[n/2+1].data){
t=test1[i].data;
test1[j].data=t;
t=test1[i].bj;
test1[j].bj=t;
j++;
}
}
int k=n/2;
return test2(k);
}
if(n==3){
if(test1[0].data==test1[1].data)
return test1[0].bj;
else
return test1[2].bj;
}
if(n==2||n==1)
return test1[0].bj;
}
int main(){
int n;
printf("请输入测试芯片个数:\n");
scanf("%d",&n);
printf("请输入测试芯片的数据\n");
for(int i=0;i<n;i++){
scanf("%d",&test1[i].data);
test1[i].bj=i+1;
}
printf("好芯片的位置:\n");
printf("%d",test2(n));
return 0;
}
请问你输入了什么?出了什么错误?
最好把报错和运行截图发一下