<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            c語言面試編程題

            時間:2020-11-08 09:04:35 面試問題 我要投稿

            c語言面試編程題

              1、讀文件 file1.txt 的'內容(例如):

            c語言面試編程題

              12

              34

              56

              輸出到 file2.txt:

              56

              34

              12

              #include

              #include

              int main(void)

              {

              int MAX = 10;

              int *a = (int *)malloc(MAX * sizeof(int));

              int *b;

              FILE *fp1;

              FILE *fp2;

              fp1 = fopen("a.txt","r");

              if(fp1 == NULL)

              {printf("error1");

              exit(-1);

              }

              fp2 = fopen("b.txt","w");

              if(fp2 == NULL)

              {printf("error2");

              exit(-1);

              }

              int i = 0;

              int j = 0;

              while(fscanf(fp1,"%d",&a[i]) != EOF)

              {

              i++;

              j++;

              if(i >= MAX)

              {

              MAX = 2 * MAX;

              b = (int*)realloc(a,MAX * sizeof(int));

              if(b == NULL)

              {

              printf("error3");

              exit(-1);

              }

              a = b;

              }

              }

              for(;--j >= 0;)

              fprintf(fp2,"%d\n",a[j]);

              fclose(fp1);

              fclose(fp2);

              return 0;

              }

              2、寫一段程序,找出數組中第 k 大小的數,輸出數所在的位置。例如{2,4,3,4,7}中,第一大的數是 7,位置在 4。第二大、第三大的數都是 4,位置在 1、3 隨便輸出哪一個均可。

              函數接口為:int find_orderk(const int* narry,const int n,const int k)

              要求算法復雜度不能是 O(n^2)

              可以先用快速排序進行排序,其中用另外一個進行地址查找代碼如下,在 VC++6.0 運行通過。

              //快速排序

              #include

              usingnamespacestd;

              intPartition (int*L,intlow,int high)

              {

              inttemp = L[low];

              intpt = L[low];

              while (low < high)

              {

              while (low < high && L[high] >= pt)

              --high;

              L[low] = L[high];

              while (low < high && L[low] <= pt)

              ++low;

              L[low] = temp;

              }

              L[low] = temp;

              returnlow;

              }

              voidQSort (int*L,intlow,int high)

              {

              if (low < high)

              {

              intpl = Partition (L,low,high);

              QSort (L,low,pl - 1);

              QSort (L,pl + 1,high);

              }

              }

              intmain ()

              {

              intnarry[100],addr[100];

              intsum = 1,t;

              cout << "Input number:" << endl;

              cin >> t;

              while (t != -1)

              {

              narry[sum] = t;

              addr[sum - 1] = t;

              sum++;

              cin >> t;

              }

              sum -= 1;

              QSort (narry,1,sum);

              for (int i = 1; i <= sum;i++)

              cout << narry[i] << '\t';

              cout << endl;

              intk;

              cout << "Please input place you want:" << endl;

              cin >> k;

              intaa = 1;

              intkk = 0;

              for (;;)

              {

              if (aa == k)

              break;

              if (narry[kk] != narry[kk + 1])

              {

              aa += 1;

              kk++;

              }

              }

              cout << "The NO." << k << "number is:" << narry[sum - kk] << endl;

              cout << "And it's place is:" ;

              for (i = 0;i < sum;i++)

              {

              if (addr[i] == narry[sum - kk])

              cout << i << '\t';

              }

              return0;

              }

            【c語言面試編程題】相關文章:

            C語言編程題11-23

            C語言編程練習11-23

            經典C語言面試算法題09-24

            一個C/C++編程面試題11-22

            計算機C語言編程問題分析論文06-21

            2016年C語言面試算法題(附答案)09-24

            c語言指針面試常見問題09-28

            網頁編程語言大全09-30

            華為c語言筆試面試題題庫11-09

            2017年c語言面試筆試題09-03

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看