哈尔滨工程大学c语言(共38页).doc
《哈尔滨工程大学c语言(共38页).doc》由会员分享,可在线阅读,更多相关《哈尔滨工程大学c语言(共38页).doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、选择题1. 对一维数组a的正确说明是 D 。A) int a(10); B) int n=10,an;C) int n; D) #define SIZE 10 scanf(%d,&n); int aSIZE; int an;2. 能对二维数组a进行正确初始化的语句是 B 。A) int a2=1,0,1,5,3,2;B) int a3=1,2,3,4,5,6;C) int a24=1,2,3,4,5,6;D)int a3=1,0,1,1,2,3,4,1,1;3. 对两个数组 a和 b进行如下初始化char a=ABCDEF;char b=A,B,C,D,E,F;则
2、以下叙述正确的是 D 。A) a与b数组完全相同 B) a与b长度相同C) a和b中都存放字符串 D) a数组比b数组长度长4. 以下数组定义中不正确的是 D 。A) int a23;B) int b3=0,1,2,3,4,5;C) int c100100=0;D) int d3=1,2,1,2,3,1,2,3,4;5. 以下选项中,不能正确赋值的是 A 。A) char s110;s1=Ctest;B) char s2=C, t, e, s, t;C) char s320=Ctest;D) char s4=Ctestn二、阅读程序写出结果1. #includevoid main() char
3、 ch7=12ab56; int i,s=0; for(i=0;chi=0&chi=9;i+=2) s=10*s+chi-0; printf(%dn,s); 答案:12. #includevoid main() int a10=1,2,2,3,4,3,4,5,1,5; int n=0,i,j,c,k; for(i=0;i10-n;i+) c=ai; for(j=i+1;j10-n;j+) if(aj=c) n+;for(k=j;k10-n;k+) ak=ak+1; for(i=0;i(10-n);i+) printf(%d,ai);答案:123453. #include void main()
4、 int i; char a=Time,b=Tom; for(i=0;ai!=0&bi!=0;i+) if(ai=bi)if(ai=a&ai=z) printf(%c,ai-32); else printf(%c,ai+32); else printf(*);答案: t*M4. #include#define LEN 4void main() int j,c; static char n2LEN+1=8980,9198; for(j=LEN-1;j=0;j-) c=n0j+n1j-2*0; n0j=c%10+0; for(j=0;j=1;j+) puts(nj);答案:7078 9198三、程
5、序填空1. 程序的功能是在a数组中查找与x值相同的元素的所在位置。#include void main()int a11,x,i;printf(Enter 10 integers :n);for(i=1;i=1(3) i2. 数组a包括10个整型元素,从数组a的第2个元素开始,分别将后项减前项之差存入数组b,并按每行3个元素的格式输出数组b。例如b0=a1-a0。#include void main() int a10,b10,i; for(i=0; (1) ;i+) scanf(%d,&ai); for(i=1; (2) ;i+) bi=ai-ai-1; for(i=1;i10;i+) pr
6、intf(%3d,bi); if( (3) )printf(n); 答案:(1) i=9(2) i=9(3) i%3=0四、程序改错1. 程序的功能是:计算数组各元素之和,并存入首元素中。#include void main() int a10=0; /* found */ int i; for(i=0;i10;i+) scanf(%d,&ai);for(i=1;i=10;i+) a0=a0+ai; /* found */printf(%dn,a0);答案:(1) int a3=0;(2) for(i=1;i3;i+) a0=a0+ai;2. 函数fun的功能是:将数组s中的字符串的反序和正序
7、连接后形成的新字符串放在数组t中。 例如,当数组s所存的字符串为ABCD时, 数组t应为DCBAABCD。 #include #include #include void fun (char s, char t) int i, d; d = strlen(s); for(i=1; id; i+) /* found */ ti=sd-1-i; for(i=0; id; i+) td+i=si; t2*d = /0; /* found */void main() char s100, t100; clrscr();printf(nPlease enter string S:); scanf(%s,
8、 &s); /* found */ fun(s, t); printf(nThe result is: %sn, t);答案:(1) for(i=0;id;i+) (2) t2*d=0 (3) scanf(“%s”,s)五、程序问答1. #include void main()int a100, i, j, n, p;printf(输入数值的个数n 和数列an);scanf(%d,&n);scanf(%d,&a0);for(i=1;i=n-1;i+) scanf(%d,&ai); p=ai; j=i-1; while(p=0) aj+1=aj; j-; aj+1=p; for(i=0;in;i
9、+) printf(%d ,ai); printf(n);问题1:该程序的功能是什么?问题2:如果先输入一个10,再输入下面的10个数: 1 9 2 8 3 7 4 6 5 5 则该程序输出什么?答案:(1). 升序 (2). 1 2 3 4 5 5 6 7 8 92. #include void main( )int a=11,33,27,33,-1,22,-8,12;int i,t,j;for (i=0;ii;j-)if (aj-1aj) t=aj-1;aj-1=aj;aj=t;for(i=0;i8;i+) printf(“%4d”,ai);问题1:此程序的运行结果是什么?问题2:若将函数
10、中的语句:if (aj-1aj) 则程序的运行结果是什么? 答案:(1). 33 33 27 22 12 11 -1 -8(2). -8 -1 11 12 22 27 33 33六、编程1. 在一组数中找出最大与最小值之差。#includevoid main() int a10,i,x,y; printf(please input the number:n); for(i=0;i10;i+) scanf(%d,&ai); x=a0; y=a0; for(i=1;ix) x=ai; if(aiy) y=ai; printf(the answer is %d,x-y);2. 用选择法将一组整数按降
11、序排序。#includevoid main() int a10,i,j,k,t; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i=8;i+) k=i; for(j=i+1;jak) k=j; t=ak; ak=ai; ai=t; for(i=0;i=9;i+) printf( %d,ai);3. 在一个按升序排列的数组中插入一个数,使数组仍有序。#include void main() int a7=3,5,7,9,11,23; int b,i,k; scanf(%d,&b); a6=b;
12、 i=5; while(b=0) ai+1=ai; ai=b; i-; printf(cha ru hou de shu zu n); for(i=0;i7;i+) printf(%d ,ai); 4. 用“顺序”查找法,在一组数中查找一个值为K的元素。若有,输出YES;若无,输出NO。#includevoid main() int a10,i,j,k; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai); printf(please input the aim number:n); scanf(%d,&k); f
13、or(i=0;i9) printf(NOn); else printf(YESn);5. 输出以下形式的图案: * * * *#includevoid main() int i,j; for(i=1;i=4;i+) for(j=1;j=i-1;j+) printf( ); for(j=1;j=9-2*i;j+) printf(*); printf(n); 6. 将一个数组按逆序重新存放在该数组中。#includevoid main() int a10,i,t; printf(please input the numbers:n); for(i=0;i10;i+) scanf(%d,&ai);
14、for(i=0;i10/2;i+) t=ai; ai=a10-1-i; a10-1-i=t; for(i=0;i10;i+) printf( %d,ai);7. 打印一个5行的杨辉三角形。#includevoid main() int a55=0,i,j; for(i=0;i=4;i+) ai0=aii=1; for(i=2;i=4;i+) for(j=1;ji;j+) aij=ai-1j+ai-1j-1; for(i=0;i=4;i+) for(j=0;j=i;j+) printf( %3d,aij); printf(n); 8. 用二维字符数组存储下列图形并输出。* * * *#inclu
15、devoid main() char c55=0; int i,j; for(i=0;i5;i+) for(j=i;j5;j+) cij=*; for(i=0;i5;i+) for(j=0;j5;j+) printf(%c,cij); printf(n); 9. 计算二维数组主对角线元素之和。#includevoid main() int a33,i,j,x; printf(please input the numbers:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); x=0; for(i=0;i3;i+) x=x+aii; printf(
16、the answer is %dn,x);10. 用“折半”查找法,在一组按降序排列的数中查找一个值为K的元素。若有,输出YES;若无,输出NO。#includevoid main() int a10=10,9,8,7,6,5,4,3,2,1,l,r,m,k; printf(please input the numbers:n); scanf(%d,&k); l=0; r=9; m=(1+r)/2; while(lam) r=m-1; else l=m+1; m=(l+r)/2; if(l=r) printf(n YES ); else printf(n NO );11. 编写一个程序计算一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工程 大学 语言 38
限制150内