欢迎访问易文君范文网!

c语言面试编程题

小学作文 分享 时间: 加入收藏 我要投稿 点赞

c语言面试编程题MWs易文君-文库范文网

  1、读文件 file1.txt 的内容(例如):MWs易文君-文库范文网

  12MWs易文君-文库范文网

  34MWs易文君-文库范文网

  56MWs易文君-文库范文网

  输出到 file2.txt:MWs易文君-文库范文网

  56MWs易文君-文库范文网

  34MWs易文君-文库范文网

  12MWs易文君-文库范文网

  #includeMWs易文君-文库范文网

  #includeMWs易文君-文库范文网

  int main(void)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  int max = 10;MWs易文君-文库范文网

  int *a = (int *)malloc(max * sizeof(int));MWs易文君-文库范文网

  int *b;MWs易文君-文库范文网

  file *fp1;MWs易文君-文库范文网

  file *fp2;MWs易文君-文库范文网

  fp1 = fopen("a.txt","r");MWs易文君-文库范文网

  if(fp1 == null)MWs易文君-文库范文网

  {printf("error1");MWs易文君-文库范文网

  exit(-1);MWs易文君-文库范文网

  }MWs易文君-文库范文网

  fp2 = fopen("b.txt","w");MWs易文君-文库范文网

  if(fp2 == null)MWs易文君-文库范文网

  {printf("error2");MWs易文君-文库范文网

  exit(-1);MWs易文君-文库范文网

  }MWs易文君-文库范文网

  int i = 0;MWs易文君-文库范文网

  int j = 0;MWs易文君-文库范文网

  while(fscanf(fp1,"%d",&a[i]) != eof)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  i++;MWs易文君-文库范文网

  j++;MWs易文君-文库范文网

  if(i >= max)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  max = 2 * max;MWs易文君-文库范文网

  b = (int*)realloc(a,max * sizeof(int));MWs易文君-文库范文网

  if(b == null)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  printf("error3");MWs易文君-文库范文网

  exit(-1);MWs易文君-文库范文网

  }MWs易文君-文库范文网

  a = b;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  }MWs易文君-文库范文网

  for(;--j >= 0;)MWs易文君-文库范文网

  fprintf(fp2,"%d\n",a[j]);MWs易文君-文库范文网

  fclose(fp1);MWs易文君-文库范文网

  fclose(fp2);MWs易文君-文库范文网

  return 0;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  2、写一段程序,找出数组中第 k 大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是 7,位置在 4。第二大、第三大的数都是 4,位置在 1、3 随便输出哪一个均可。MWs易文君-文库范文网

  函数接口为:int find_orderk(const int* narry,const int n,const int k)MWs易文君-文库范文网

  要求算法复杂度不能是 o(n^2)MWs易文君-文库范文网

  可以先用快速排序进行排序,其中用另外一个进行地址查找代码如下,在 vc++6.0 运行通过。MWs易文君-文库范文网

  //快速排序MWs易文君-文库范文网

  #includeMWs易文君-文库范文网

  usingnamespacestd;MWs易文君-文库范文网

  intpartition (int*l,intlow,int high)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  inttemp = l[low];MWs易文君-文库范文网

  intpt = l[low];MWs易文君-文库范文网

  while (low < high)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  while (low < high && l[high] >= pt)MWs易文君-文库范文网

  --high;MWs易文君-文库范文网

  l[low] = l[high];MWs易文君-文库范文网

  while (low < high && l[low] <= pt)MWs易文君-文库范文网

  ++low;MWs易文君-文库范文网

  l[low] = temp;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  l[low] = temp;MWs易文君-文库范文网

  returnlow;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  voidqsort (int*l,intlow,int high)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  if (low < high)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  intpl = partition (l,low,high);MWs易文君-文库范文网

  qsort (l,low,pl - 1);MWs易文君-文库范文网

  qsort (l,pl + 1,high);MWs易文君-文库范文网

  }MWs易文君-文库范文网

  }MWs易文君-文库范文网

  intmain ()MWs易文君-文库范文网

  {MWs易文君-文库范文网

  intnarry[100],addr[100];MWs易文君-文库范文网

  intsum = 1,t;MWs易文君-文库范文网

  cout << "input number:" << endl;MWs易文君-文库范文网

  cin >> t;MWs易文君-文库范文网

  while (t != -1)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  narry[sum] = t;MWs易文君-文库范文网

  addr[sum - 1] = t;MWs易文君-文库范文网

  sum++;MWs易文君-文库范文网

  cin >> t;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  sum -= 1;MWs易文君-文库范文网

  qsort (narry,1,sum);MWs易文君-文库范文网

  for (int i = 1; i <= sum;i++)MWs易文君-文库范文网

  cout << narry[i] << '\t';MWs易文君-文库范文网

  cout << endl;MWs易文君-文库范文网

  intk;MWs易文君-文库范文网

  cout << "please input place you want:" << endl;MWs易文君-文库范文网

  cin >> k;MWs易文君-文库范文网

  intaa = 1;MWs易文君-文库范文网

  intkk = 0;MWs易文君-文库范文网

  for (;;)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  if (aa == k)MWs易文君-文库范文网

  break;MWs易文君-文库范文网

  if (narry[kk] != narry[kk + 1])MWs易文君-文库范文网

  {MWs易文君-文库范文网

  aa += 1;MWs易文君-文库范文网

  kk++;MWs易文君-文库范文网

  }MWs易文君-文库范文网

  }MWs易文君-文库范文网

  cout << "the no." << k << "number is:" << narry[sum - kk] << endl;MWs易文君-文库范文网

  cout << "and it's place is:" ;MWs易文君-文库范文网

  for (i = 0;i < sum;i++)MWs易文君-文库范文网

  {MWs易文君-文库范文网

  if (addr[i] == narry[sum - kk])MWs易文君-文库范文网

  cout << i << '\t';MWs易文君-文库范文网

  }MWs易文君-文库范文网

  return0;MWs易文君-文库范文网

  }MWs易文君-文库范文网

精选图文

169965
领取福利

微信扫码领取福利

微信扫码分享