C填空题50题.doc
《C填空题50题.doc》由会员分享,可在线阅读,更多相关《C填空题50题.doc(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、程序填空 共50题 (共计1500分)第1题 (30.0分) 题号:625/*-【程序填空】-功能:有一整数数组x(正序排列),判断是否有数组元素xi=i 的情况发生。-*/int index_search(int x, int n) int first = 0; int last = n-1; int middle, index; index = -1; while (first = last) middle = (first + last) / 2; /*SPACE*/ if (【?】) index = middle; break; /*SPACE*/ else if (【?】) la
2、st = middle - 1; else first = middle + 1; return index;#include void main(void) int x = -1, 0, 1, 3, 5, 7, 9, 10; int n = sizeof(x)/sizeof(int); int answer, i; printf(nIndex Search Program); printf(n=); printf(nnGiven Array :); for (i = 0; i = 0) printf(nnYES, x%d = %d has been found., answer, answe
3、r); else printf(nnNO, there is no element with xi = i);答案: 1). xmiddle = middle 2). xmiddle middle 或 middlexmiddle 3). answer = index_search(x, n)第2题 (30.0分) 题号:627/*-【程序填空】-功能:调用函数fun计算m=1-2+3-4+9-10,并输出结果。-*/int fun( int n) int m=0,f=1,i; /*SPACE*/ for(i=1;【?】;i+) m+=i*f; /*SPACE*/ 【?】; /*SPACE*/
4、return 【?】;main() printf(m=%dn, fun(10);答案: 1). i=n 2). f= -f 3). m第3题 (30.0分) 题号:628/*-【程序填空】- 题目:请补充函数fun(),该函数的功能是求一维数组xN的平均值,并对所得结果进行 四舍五入(保留两位小数) 例如:当x10=15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0, 结果为:avg=15.030000。- 注意:仅能用表达式或语句替换填空标记,填勿改动主函数main和其他函数中的任何内容。 -*/#include#includ
5、edouble fun(double x10) int i; long t; double avg=0.0; double sum=0.0; for(i=0;i10;i+) sum += xi; avg=sum/10;/*SPACE*/ avg=【?】;/*SPACE*/ t=【?】; avg=(double)t/100; return avg;main() double avg,x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0; int i; printf(nThe original data is :n); for(i=0;i10;
6、i+) printf(%6.1f,xi); printf(nn); avg=fun(x); printf(average=%fnn,avg);答案: 1). avg * 1000 或 avg * 1000+5 2). ( avg + 5 )/10 或 avg/10第4题 (30.0分) 题号:629/*-【程序填空】- 题目:从键盘输入一组无符号整数并保存在数组xxN中,以整数0结束输入,要求这些 数的最大位数不超过位,其元素的个数通过变量num传入函数fun()。请补充函 数fun(),该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所 有无符号整数,结果保存在数组yy中,其个数
7、由函数fun()返回。 例如:当xx8=123,11,25,222,42,333,14,5451时,bb4=25,42,333,5451。- 注意:仅能用表达式或语句替换填空标记。填勿改动主函数main和其他函数中的任何内容。 -*/#include #define N 1000int fun(int xx,int bb,int num) int i, n=0; int g, s; for(i=0;i5)/*SPACE*/ 【?】; return n;main() int xxN; int yyN; int num=0,n=0,i=0; printf(Input number :n); do
8、scanf(%u,&xxnum); while(xxnum+!=0); n=fun(xx,yy,num); printf(nyy=); for(i=0;in;i+) printf(%u ,yyi);答案: 1). xxi%10 2). bbn+=xxi第5题 (30.0分) 题号:633/*-【程序填空】-题目:对只包含-和字母字符的字符串str进行如下处理: 删除str中前导和尾部连续的-字符,保留串中字母字符以 及字母间的-字符。 例如,str中初始字符串为-C-Language-Test-。 处理后,str中的字符串为C-Language-Test。 程序中isalpha函数功能是判断参
9、数是否是字母,是字母, 函数值为真,否则函数值为假。-注意:请勿改动主函数main()中的其他内容。-*/#include #include void main() char str=-C-Language-Test-; int i,start,end; i=0; while(stri+=-) ; start=i-1;/*SPACE*/ while(stri != 【?】) if(isalpha(stri) end=-1; else if(isalpha(stri-1) end=i-1; i+; strend+1=0; for(i=start;i=end+1;i+)/*SPACE*/ stri
10、-【?】 = stri; printf(%sn,str);答案: 1). 0 或 0 2). start第6题 (30.0分) 题号:635/*-【程序填空】-题目:1、第一个for循环中给a数组10个元素依次赋字符 A、B、C、D、E、V、W、X、Y、Z。 2、第二个for循环中使a数组10个元素的值对称折叠,变成 A、B、C、D、E、E、D、C、B、A。 3、第三个for循环输出的字符依次是 A、B、C、D、E、A、B、C、D、E。-注意:请勿改动主函数main()中的其他内容。-*/#include void main() int a10; int i; for(i=0;i10;i+)
11、if(i5) ai=i+65;/*SPACE*/ else ai=【?】; for(i=0; i5; i+) a9-i=ai; for(i=0;i10;i+)/*SPACE*/ printf(%ct,ai5 【?】); printf(n);答案: 1). i+81 或 81+i 或 i+Q 或 Q+i 或 V+i-5 或 V-5+i 或 i-5+V 或 i+V-5 2). ? i:i-5 或 ? i:14-i第7题 (30.0分) 题号:636/*-【程序填空】-题目:将输入的一个十进制正整数转换为十六进制字符形式并显示。-注意:请勿改动主函数main()中的其他内容。-*/#include
12、void main() char dex17=0123456789ABCDEF; int c8,i,base=16; int n; printf(输入十进制正整数 ); scanf(%d,&n); i=0; do/*SPACE*/ ci+=【?】; n=n/base; while(n); printf(对应的十六进制数 ); for(-i;i=0;i-)/*SPACE*/ printf(%c,dex【?】); printf(n);答案: 1). n%base 或 n % 16 或 n & (base-1) 或 n & 15 或 n & 0xf 或 n & 0x0f 2). ci第8题 (30.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 填空 50
限制150内