首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交
admin
2021-06-15
70
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数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中。不得增行或删行,也不得更改程序的结构!
试题程序:
#inclucte<stdio.h>
void fun(int a[55],int n)
{int i,k;
/*********found*********/
int
【1】
[55];
for(i=0;i<n;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()
{int m,a[55],i;
for(i=1;i<55;i++)a
=i;
printf("请输入洗牌次数:");
scarlf("%d",&m);
fun(a,m);
for(i=1;i<55;i++)
printf("%d,",a
);
printf("\n");
}
选项
答案
(1)b (2)2 (3)b[k]
解析
填空1:for循环中使用了一个数组b,用来临时存放交换位置后的扑克牌,C语言中变量需要先声明后使用,所以填空(1)处需要声明一个数组b。答案为b。
填空2:第二个for循环是将数组a中前一半元素(即1-27编号的扑克牌)放入数组b的奇数位置,将数组a中的后一半元素(即28~54编号的扑克牌)放入数组b的偶数位置,实现扑克牌的交叉洗牌。所以填空(2)处是数组b的起始值为2的偶数下标2k,答案为2。
填空3:由于数组b属于函数中的临时变量,所以将数组a的元素交叉存储到数组b后,还需要将数组b的元素依次赋值给数组a,第三个for循环实现的功能是将数组b赋值给数组a,所以填空(3)处需要填入对应下标为k的数组b的元素,答案为b[k]。
转载请注明原文地址:https://kaotiyun.com/show/Nwtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序段中的变量已正确定义:for(i=0;i<4;i++,i++)for(k=1;k<3;k++);prinff("*");程序的运行结果是()。
若有以下程序#includemain(){inti,j=0;chara[]="Howareyou!",b[10];for(i=0;a[i];i++)if(a[i]==’’)b[j++]=a[i+1];b[j]=’\0’;printf("%s
有以下程序(strcat函数用以连接两个字符串)#include<stdio.h>#include<string.h>main(){chara[201="ABCD\OEFG\0",b[]="IJK";strcat(a,b);printf("%s
有以下程序#includeintfun(chars[]){char*P=s;while(*P=0)p++;return(p-s);}main(){printf("%d\n",fun("0ABCDEF"));}
有以下程序yoidfun2(chara,charb){printf(’’%c%c’’,a,b);)chara=’A’,b=’B’;yoidfunl(){a=’C’;b=’D’;)main(){funl();print
若变量已正确定义,则语句S=32;s^=32;printf(“%d”,s);的输出结果是()。
有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s\n",*p);}main(){char*a[]=("Morning","Afternoon","Evening",
对于一个正常运行的C程序,以下叙述中正确的是
以下关于指针的叙述正确是()。
在C语言中,以下说法不正确的是()。
随机试题
2004年中央一号文件发布之前的近二十年,乡村治理的重点是()的调整。
下列关于双核技术的叙述中,正确的是()。
A、0.6~1.5gB、0.1~0.2gC、0.3~0.6gD、0.03~0.06gE、0.05~0.1g雄黄内服用量为
材料:2007年以来,金融危机给全球经济造成了深刻影响。面对法院执行中被执行人履行能力下降、信用降低、执行和解难度增大等新情况、新问题,最高法院在《关于应对国际金融危机做好当前执行工作的若干意见》中指出:“在金融危机冲击下,为企业和市场提供司法服务,积极应
2015年7月30日,人民法院受理了甲公司的破产申请,并同时指定了管理人。管理人接管甲公司后,发现:2014年4月,甲公司向乙公司采购原材料而欠乙公司80万元货款未付。2015年3月,甲乙双方签订一份还款协议,该协议约定:甲公司于2015年9月1
2015年2月10日,甲方与乙方本着友好协商、自愿公平的原则,签订了一份棉花购销合同。由乙方供给甲方棉花300吨,价格为2.3万元/吨,分四批按季度供货,乙方代办托运直接发到甲方指定地点。合同对货物的质量标准、发货地点、供货方式等做了详细规定,双方约定若一
根据《旅行社条例》规定,有()情形的,由旅游行政管理部门责令改正,停业整顿1~3个月;情节严重的,吊销旅行社业务经营许可证。
借助药物、物理治疗或化学治疗的方法来消除病患,效果并不一定很好。目前防治高血压的药物有4种,分别适用于不同的对象。如果使用不当,还可能造成对身体的危害。约一半的高血压患者可以通过调整饮食、戒烟戒酒和减轻体重的方法得到康复。上面这段话主要支持了这样一
Sincethelineageofinvestigativejournalismismostdirectlytraceabletotheprogressiveeraoftheearly1900’s,itisnots
Theneedforasurgicaloperation,especiallyanemergencyoperation,almostalwayscomesasasevereshocktothepatientandh
最新回复
(
0
)