风霜刺骨 2021-03-18 18:21 采纳率: 100%
浏览 36
已结题

c语言不知道哪里错了,运行输入时有错误

#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;
}
  • 写回答

2条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-03-18 18:31
    关注

    请问你输入了什么?出了什么错误?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日