<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

            計算機二級《C語言》上機題精講

            時間:2025-03-21 13:51:59 試題 我要投稿
            • 相關推薦

            2016計算機二級《C語言》上機題精講

              C語言是一門通用計算機編程語言,應用廣泛。為了幫助考生們更好、更有準備地參加考試,下面百分網小編為大家搜索整理了關于計算機二級《C語言》上機題精講,歡迎參考練習,希望對大家備考有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!

              1、給定程序中已建立一個帶有頭結點的單向鏈表,鏈表中的各結點按數據域遞增有序鏈接。函數fun的功能是:刪除鏈表中數據域值相同的結點,使之只保留一個。 請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。

              注意:源程序存放在考生文件夾下的BLANK1.C中。

              不得增行或刪行,也不得更改程序的結構!

              給定源程序:

              #include

              #include

              #define N 8

              typedef struct list

              { int data;

              struct list *next;

              } SLIST;

              void fun( SLIST *h)

              { SLIST *p, *q;

              p=h->next;

              if (p!=NULL)

              { q=p->next;

              while(q!=NULL)

              { if (p->data==q->data)

              { p->next=q->next;

              free(___1___);

              q=p->___2___;

              }

              else

              { p=q;

              q=q->___3___;

              }

              }

              }

              }

              SLIST *creatlist(int *a)

              { SLIST *h,*p,*q; int i;

              h=p=(SLIST *)malloc(sizeof(SLIST));

              for(i=0; i

              { q=(SLIST *)malloc(sizeof(SLIST));

              q->data=a[i]; p->next=q; p=q;

              }

              p->next=0;

              return h;

              }

              void outlist(SLIST *h)

              { SLIST *p;

              p=h->next;

              if (p==NULL) printf("\nThe list is NULL!\n");

              else

              { printf("\nHead");

              do { printf("->%d",p->data); p=p->next; } while(p!=NULL);

              printf("->End\n");

              }

              }

              main( )

              { SLIST *head; int a[N]={1,2,2,3,4,4,4,5};

              head=creatlist(a);

              printf("\nThe list before deleting :\n"); outlist(head);

              fun(head);

              printf("\nThe list after deleting :\n"); outlist(head);

              }

              解題思路:

              本題是考察考生對鏈表的操作,主要是解決刪除鏈表中數據域值相同的結點。程序中共有三處要填上適當的內容,使程序能運行出正確的結果。

              函數fun中使用兩個臨時結構指針變量p和q對鏈表進行操作。首先p指向鏈表開始的next指針,q指向p的next指針,再利用while循環語句來判斷指針q是否NULL,如果q指針是指向NULL,那么函數結束返回。如果不是NULL,那么就要判斷p和q中data值是否相同,如果值相同,則要

              刪除該結點,然后繼續判斷下一結點值是相同,如果還相同,那么繼續刪除結點,直至不相同為止。如果兩個結點的值不相同,那么p就指向q,q指向q的next指針再繼續操作上述過程。

              刪除結點的方法是:先將p的next指針指向q的next指針,再釋放q指針指向的內存,最后把

              q指針再指向p的next指針就可以刪除一個鏈表中的結點了。

              第一處:釋放q指針所指的內存空間,應填q。

              第二處:q指針指向p的next指針,重新完成鏈接,應填next。

              第三處:兩個結點的值不相同,那么q就指向q的next指針,應填next。

              2、給定程序MODI1.C中函數fun的功能是:用選擇法對數組中的n個元素按從小到 大的順序進行排序。

              請修改程序中的錯誤,使它能得出正確的結果。

              注意:不要改動main函數,不得增行和刪行,也不得更改程序的結構!

              給定源程序:

              #include

              #define N 20

              void fun(int a[], int n)

              { int i, j, t, p;

              for (j = 0 ;j < n-1 ;j++) {

              p = j

              for (i = j;i < n; i++)

              if(a[i] < a[p])

              p = j;

              t = a[p] ; a[p] = a[j] ; a[j] = t;

              }

              }

              main()

              {

              int a[N]={9,6,8,3,-1},i, m = 5;

              printf("排序前的數據:") ;

              for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n");

              fun(a,m);

              printf("排序后的數據:") ;

              for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n");

              }

              解題思路:

              第一處:語句后缺少分號。

              第二處:保存最小值的位置,所以應改為:p = i;。

              3、請編寫一個函數fun,它的功能是:求出1到m之間(含m)能被7或11整除的所有整數放在數組a中,通過n返回這些數的個數。例如,若傳送給m的值為50,則程序

              輸出:7 11 14 21 22 28 33 35 42 44 49

              注意: 部分源程序存在文件PROG1.C中。

              請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入

              你編寫的若干語句。

              給定源程序:

              #include

              #define M 100

              void fun ( int m, int *a , int *n )

              {

              }

              main( )

              { int aa[M], n, k;

              fun ( 50, aa, &n );

              for ( k = 0; k < n; k++ )

              if((k+1)%20==0) printf("\n");

              else printf( "%4d", aa[k] );

              printf("\n") ;

              NONO( );

              }

              解題思路:

              本題是考察考生對某個數能被其他的數整除方式,并把符合條件的數存放在數組a中。 我們給出的程序是使用for循環語句以及取模的方式來解決這個問題的。

              參考答案:

              #include

              #define M 100

              void fun ( int m, int *a , int *n )

              {

              int i ;

              *n=0 ;

              for(i=7 ; i<=m; i++)

              if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;

              }

            【計算機二級《C語言》上機題精講】相關文章:

            計算機二級C語言上機編程題講解07-10

            2017計算機二級C語言上機特訓題08-12

            計算機二級C語言預測上機精選訓練題07-05

            2017計算機二級C語言上機最終預測題07-08

            計算機二級C語言上機程序填空題09-26

            計算機二級C語言上機強化訓練題及答案06-07

            計算機二級C語言上機操作題及答案09-08

            2015計算機二級c語言上機題庫06-19

            計算機二級C語言上機編程題詳細分析09-30

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院