主题:程序员笔试考前练习(13)[
http://www.educity.cn
阅读以下程序说明和C 程序,将应填入程序中(n)处的字句,写在答卷的对应栏内。
[程序说明]
本程序为六个整型变量 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
{
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分)
阅读以下程序说明和C 程序,将应填入程序中(n)处的字句,写在答卷的对应栏内。
[程序说明]
本程序为六个整型变量 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
{
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分)