作者:深圳教育在线 来源:szedu.net 更新日期:2008-10-11
阅读以下程序说明和C 程序,将应填入程序中(n)处的字句,写在答卷的对应栏内。 [程序说明] Examda提示: 本程序为六个整型变量 A、B、C、D、E、F 输入整数,并按从大到小的顺序输出它们的名和值。如某次 A、B、C、D、E、F 的输入值为 3、2、5、7、4、6,则程序将输出: D(7)F(6)C(5)E(4)A(3)B(2) [程序] #define N sizeof tbl/sizeof tbl[0] int A,B,C,D,E,F; struct ele{ char vn; int *vp; }tbl[]={{‘A’,&A},{‘B’,&B},{‘C’,&C}, {‘D’,&D},{‘E’,&E},{‘F’,&F}}, t; main() { int k,j,m; for(k=0;k<N;k++) { printf(“Enter data for%\n”,tbl[k].vn); scanf(“%d”,__(1)__); } m = N-1; /*采用冒泡法排序*/ white (m>0) { for( k = j = 0;j < m;j++) /*比较直至上轮循环的最后交换前*/ if(__(2)__) { t = tb1[j]; tb1[j] = tb1[j+1]; tb1[j+1] = t; __(3)__; } m =__(4)__; /*本框填 m-1 不给分*/ } for( k = 0;k < N;k++) printf(”%c(%d)”,____(5)____ ,____ (6)____); printf(“\n”); } 答案: (1)tbl[k].vp (2分) (2)*tbl[j].vp < *tbl[j+1].vp (3分) (3)k=j (3分) (4) k 或 k++ 或 k-- (3分) (5)tbl[k].vn (2分) (6)*tbl[k].vp (2分)
|