c 计算机二级考试程序填空题,2010计算机等考二级C:50套上机程序填空题(3)

5、函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。

注意:规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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

不得增行或删行,也不得更改程序的结构!

# include

#define N 9

void fun(int a[], int n)

{ int i,j, max, min, px, pn, t;

for (i=0; i{

/**********found**********/

max = min = ___1___;

px = pn = i;

for (j=i+1; j/**********found**********/

if (max<___2___>

{ max = a[j]; px = j; }

/**********found**********/

if (min>___3___)

{ min = a[j]; pn = j; }

}

if (pn != i)

{ t = a[i]; a[i] = min; a[pn] = t;

if (px == i) px =pn;

}

if (px != i+1)

{ t = a[i+1]; a[i+1] = max; a[px] = t; }

}

}

main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i;

printf("\nThe original data :\n");

for (i=0; ifun(b, N);

printf("\nThe data after moving :\n");

for (i=0; i}

6、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。

例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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

不得增行或删行,也不得更改程序的结构!

#include

void fun(char *s, char *p)

{ int i, j, n, x, t;

n=0;

for(i=0; s[i]!='\0'; i++) n++;

for(i=1; i/**********found**********/

___1___;

/**********found**********/

for(j=___2___+2 ; jif(s[t]>s[j]) t=j;

if(t!=i)

{ x=s[i]; s[i]=s[t]; s[t]=x; }

}

for(i=1,j=0; i/**********found**********/

p[j]=___3___;

}

main()

{ char s[80]="baawrskjghzlicda", p[50];

printf("\nThe original string is : %s\n",s);

fun(s,p);

printf("\nThe result is : %s\n",p);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值