2015全国计算机二级c,2015年9月全国计算机二级C操作题真题第1套

一、改错题

函数fun的功能是:将一副扑克牌编号为1,2,3...53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,譬如第一次这样洗牌后的结果为:1,28,2,29,...53,27,54。两次洗牌后的结果为:1,41,28,15,2,42...53,40,27,14,54。

程序的功能是:输出经过n次这样洗牌后的结果。

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

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

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

#include

voidfun( inta[55], intn )

{inti, k;

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

int__(1)__[55];

for (i=0; i

{for (k=1; k<= 27; k++)

{b[ 2*k-1 ] = a[k];

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

b[ __[2]___* k ] = a[k+27];

}

for (k=1; k<=54; k++)

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

a[k]=___(3)___;

}

}

main( )

{intm, a[55],i;

for (i=1; i<55; i++)a[i]= i;

printf("请输入洗牌次数:");scanf("%d", &m);

fun(a, m);

for (i=1; i<55; i++)printf("%d,",a[i]);

printf("\n");

}

二、改错题

给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。

例如:当输入100时,输出:100=9+10+11+12+13+14+15+16

100=18+19+20+21+22

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构。

#include

void fun( intn )

{intj, b, c, m, flag=0;

for (b=1; b<=n/2; b++) {

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

n = m;

c = b;

while (m !=0 && m>=c) {

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

m = m - c;c++

}

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

if ( m!=0)

{printf("%d=", n);

for (j=b; j

printf("%d\n", j);

flag=1;

}

}

if(flag==0)

printf("不能分解\n");

}

main()

{intn;

printf("请输入一个整数:");scanf("%d", &n);

fun(n);

}

三、编程题

请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。

注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

#include

#include

#include

intfun( char*t )

{

}

main()

{chars[26];

printf("请输入一个字母组成的字符串:"); gets(s);

if( fun(s) )printf("%s是由连续字母组成的字符串.\n", s );

elseprintf("%s不是由连续字母组成的字符串!\n", s );

/ *NONO();*/

}

109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值