#include <math.h>
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
using namespace std;
int g;
void imput_1(int x[],char name[][12])
{int i;
for (i=0;x[i-1]!=0 && i<12;i++)
{
printf("\nNumber:");
scanf_s("%d",&x);
printf("\nname:");
scanf("%s",name);
g=i;
}
}
void pinkpig(char u[12],char o[12])
{int i;
for (i=0;i<12;i++)
{u=o;
}
}
void sort(int a[],char s[][12])
{int i,j,temp;
char string[12];
for (i=0;i<g;i++)
{for (j=0;j<g-1;j++)
if (a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
pinkpig(string,s[j]);
pinkpig(s[j],s[j+1]);
pinkpig(s[j+1],string);
}
}
}
void see(int a,int seer[])
{
int j=0,min=0,max=g-1,ave;
ave=(min+max)/2;
while ((a>=seer[ave+1] || a<=seer[ave-1] || a==seer[ave]) && j==0)
{
if (a==seer[ave])
{printf("%5d %12s\n",seer[ave]);
j=1;}
else if (a<seer[ave])
{max=ave-1;
ave=(ave+min)/2;}
else
{min=ave+1;
ave=(ave+max)/2;
}
}
if (j==0) printf("error!");
}
int _tmain(int argc, _TCHAR* argv[])
{ int i=0,num[12],se;
char name[10][12];
imput_1(num,name);
sort(num,name);
for (i=0;i<g;i++)
{printf("%5d %12s\n",num,name);
}
scanf("%d",&se);
if (se==3)
{
scanf("%d",i);
see(i,num);
}
system("pause");
return 0;
}
到函数C的时候内存出错了,哪位大虾告诉我错在哪里,不甚感激 |