C语言程序设计的试题及答案(782).docx

上传人:scccc 文档编号:14413937 上传时间:2022-02-05 格式:DOCX 页数:13 大小:23.50KB
返回 下载 相关 举报
C语言程序设计的试题及答案(782).docx_第1页
第1页 / 共13页
C语言程序设计的试题及答案(782).docx_第2页
第2页 / 共13页
C语言程序设计的试题及答案(782).docx_第3页
第3页 / 共13页
C语言程序设计的试题及答案(782).docx_第4页
第4页 / 共13页
C语言程序设计的试题及答案(782).docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《C语言程序设计的试题及答案(782).docx》由会员分享,可在线阅读,更多相关《C语言程序设计的试题及答案(782).docx(13页珍藏版)》请在三一文库上搜索。

1、C语言程序设计的试题及答案 int huiwen(int n) int a6,i=0,j; while (n!=0) /从第一个开是放元素 i+; ai=n%10; n=n/10; for(j=1;j方法二、#include int rev(int a);- 1 分 void main() int x, y,i=0; for(x=1;x=0;i-) printf(%1d,ai); printf(n); 10. #include stdio.h int ni(int x,int a) /返回值为数的位数 int n=-1; while(x!=0) n+; an=x%10; x=x/10; ret

2、urn n; void main() int x,a20,i,n; printf(input xn); scanf(%d,&x); n=ni(x,a); for(i=0;in)n); scanf(%d,%d,&m,&n); if(m=n) zuhe=jch(m)/(jch(n)*jch(m-n); printf(%d,%d 的组合为:%d,m,n,zuhe); 13. #include stdio.h void serach(int a,int x) int i; for (i=0;i10;i+) if(ai=x) printf(Foundn); return ; printf(Not fou

3、nd!n); void main() int i,a10,x; printf(input 10 integers n); for (i=0;i10;i+) scanf(%d,&ai); printf(input xn); scanf(%d,&x); serach(a,x); 14. #include stdio.h #include string.h typedef struct char no10; int score; studtype; void search(studtype a,char xno) int i; for (i=0;i20;i+) if(strcmp(ai.no,xno

4、)=0) printf(%dn,ai.score); return ; printf(Not found!n); void main() studtype stu20; char xno10; int i; printf(input 20 no,scoren); for (i=0;i20;i+) scanf(%s%d,stui.no,&stui.score); printf(input xnon); scanf(%s,xno); search(stu,xno); 15. 编程实现:从键盘任意输入某班 20 个学生的姓名和成绩,输出最高分及不及格学生的 人 数。要求分别用两个自定义函数求最高分和

5、不及格人数。 #define N 20 #include typedef struct char name10; int score; datatype; int max(datatype stu); int num(datatype stu); void main() datatype stuN; int i,max_score,n; /*姓名*/ /*成绩*/ /*最高分函数声明*/ /*不及格人数函数声明*/printf(请输入 %d 名职工姓名 成绩:n, N); for(i=0;istum.score)m=i; return stum.score; int num(datatype

6、stu) int i,n=0; for(i=0;i16. 编程实现:输入 2 个降序排列的整数数列,将这两个数列合并存放到另一个数组中,要 求 每个数都一次到位,不得在新数组中重新排序。要求数列合并通过自定义函数来实现。 #define M 4 #define N 5 #include void merge(int a,int b,int c); void main() int i,aM,bN,cM+N; printf(请输入 %d 个降序排列的整数:n, M); for(i=0;ivoid merge(int a,int b,int c) int i,j,k; i=0;j=0;k=0; wh

7、ile(ibj) ck+=ai+; else ck+=bj+; while(i17. 编程实现:输入 N 名职工的姓名及计算机水平考试的成绩,输出及格人数和及格的职工 信 息。要求:职工信息的输入和输出分别通过自定义函数来实现。 #define N 10 #include /#include typedef struct char name10; float score; datatype; void input(datatype work); void print(datatype work); void main() datatype workN; input(work); print(w

8、ork); void input(datatype work) /*input 函数定义*/ int i; printf(请输入 %d 名 学生的姓名 成绩:n, N); for(i=0;ivoid print(datatype work) /*print 函数定义*/ int i; for(i=0;i60)printf(%10sn,worki.name); 18. 编程实现:从键盘输入 10 名学生的信息,包括学号、姓名、成绩,用一个排序函数 sort 完成学生成绩降序排列,并输出学生排序后的结果。 #define N 10 #include /#include typedef char n

9、um20; char name20; float score; stutype; void input(stutype stu); void sort(stutype stu); void print(stutype stu); int main() stutype stuN; input(stu); sort(stu); print(stu); return 0; void input(stutype stu) /*input 函数定义*/ int i; printf(请输入 %d 名学生信息(学号 姓名 成绩):n, N); for(i=0;ik=i; for(j=i+1;jprintf(

10、*名次 学号 姓名 成绩*n); for(i=0;i19. /编程实现:任意输入一组不多于 20 个的升序排列的若干个整数,任意输入不多于 10 个 的整数(-1 作为输入结束标志) ,将其插入到该序列中,使其依然有序。要求:通过自定义 函数实现将一个整数插入到一个有序序列中,使其依然有序。 #include void ins(int a,int*n,int x); void main() int a30,x,m,i; m=-1; printf(输入一组不多于 20 个的升序排列的若干个整数,-1 作为输入结 束标志n); scanf(%d,&x); while(x!=-1) m+; am=x

11、; scanf(%d,&x); printf(输入一组不多于 10 个的升序排列的若干个整数, -1 作为输入结束标志n); scanf(%d,&x); while(x!=-1) ins(a,&m,x); scanf(%d,&x); for(i=0;ix&i=0) ai+1=ai; i-; ai+1=x; (*n)+; 20. 一个班级有 30 个学生,每个学生有学号、姓名及数学、语文、计算机成绩、平均成绩。 要求编程实现以下功能: 1) 从键盘上输入 30 个学生的信息,平均成绩通过公式:平均成绩=(数学+语文+计算 机 )/3 计算得出。 2)输出所有平均成绩大于等于 85 的学生姓名(要

12、求用自定义函数实现该功能)。 #include stdio.h #define n 30 typedef struct char no11,name9; int math,chiness,comp; float ave; studtype; void out(studtype a) int i; for (i=0;i=85)printf(%10sn,ai.name); void main() studtype stun; int i; printf(input no,name,math,chiness,computern); for (i=0;i第七章 数组 一.填空 1. 数组是由固定数目的

13、()的变量按一定顺序排列而构成的。 )个字节2. 设有数组定义:char array=“China” ;则数组所占的存储空间为( 。 3. 一个二维字符数组 a1020能够存储( )个字符串。4. 假定在一维数组 b10中,元素 b5的指针为 p,则 p+4 所指向的元素为( 5. 一维数组的下标从( )开始。 )。) 。6. 设有数组 a10;则首地址可以写成 (7. 设有数组 int a10, 数组元素 a5用指针表示的形式是( 8. 设有数组 int a1015, 数组元素 a53用指针表示的形式是( 9. 定义 3 行 4 列的整型二维数组 a 的语句是( ) 。 10. 定义 int

14、 b =5,6,7,8, y, *p=b; 执行 y=*p+ 以后, y 的值为( 11. 按下面的语句定义数组 a 后,a 20 的值为( int a32=2,4,6,8,10; )。 )。 ) 。) 。12. 假设要把“student! ”存入一个字符数组,则该数组长度应该至少为( 。 13. 在 C 语言中,如果采用语句 int a23 = 1,2,3,4,5 完成一个二维数组的定义和初 始化,那么 a01 的值为( ) 。 14. 在 C 语言中,如果采用语句 int a23 = 1,2,3,4,5 完成一个二维数组的定义和初 始化,再定义 int *b = a0,那么 *(b+2)

15、的值为 ( ). 15. 若 int a 3=1,2,3,4,5,6,7,8,9;则*(*a+1)的值是( 16. 按下面的语句定义数组 b 后,b21的值为( int b2=2,1,4,3,5,6。 ) 。 ) 。)17. 设 int a=0,1,2,3,4,5,6,7,8,9,*p=a,则*p+4=( 18. 定义 2 行 3 列 5 层的整型三维维数组 a 的语句是( 19. 若有 int a3=10,12,30;则*(a+2)+3= ( 20. 若有 int a3=10,12,30;则 a+1 是() 。 ) 。 ) 。 )的地址。21. 假设 int 型变量占两个字节的存储单元,若有

16、定义:int x10=0,2,4; 则数组 x 在内存 中所占字节数为 ( ) 。 22. 若有定义 int a3=1,2,3,4,5,6,7;,则 a 数组第一维的大小是( ) 。 23. 数组 int a33;共定义了( 24. C 语言中,二维数组的存放方式为按( )个数组元素。 )存放。 (填“行”或“列” )25. 定义 int a10=11,12,13,14,15, *p=&a5; 假设&a0和&a1的值分别是 0x2000 和 0 x2004,则 p 的值是( ) 。 26. 定义 int a10=11,12,13,14,15, *p=&a3; 假设&a0和&a1的值分别是 0x

17、2000 和 0 x2004,则表达式 a0+*p 的值是( ) 。 27. 对一维数组初始化时,若有 int ) 。 a10=0,1,2,3,4,则 a5的值是(28. 已知:int a3=1,3,5,7,9,11; 此时数组元素 a12的值为( ) 。 29. 定义 char a7= abcdef; char b4= ABC,执行语句 strcpy(a,b);printf(%s,a), 输出结果是( ) 。 30. 定义 int a10=1,3,5,7,9,11,13,15,17,19,*p=a;执行语句 printf(%d,*p+7);输出 结果是( ) 。 31. 已知 int a5

18、= 2, 3, 4, 5, 6 ; int *p = a+2; 则表达式 *p*a3 的值是( ) 。 32. 定义 char a7= 123456; char b4= ABC,执行语句 strcpy(a,b); printf(%c,a 6),输出结果是( ) 。 33. 对整形数组 int a5=1,2,3; 则执行语句 a2=a2+a1*(*(a+3); a2的值为( )34. 定义 char a5=65,66,67,*p=a; 则执行语句 printf(%s,p+1);输出结果为( )。 35. 对于定义 struct TData int a2; char c; ; struct TDa

19、ta slist*3+=,1,2-,A-,3,4-,B-; slist1.a0的值为( )。36. 已知:int a3=1,3,5,7,9,11; 则*(a1+1)的值为( ) 。 37. 已知:int a23=1,3,5,7,9,11,13,*p; p=&a2; p=p+3; 则*p 的值为( )。 38. 定义 char a7= 123; char b4= ABC,执行语句 strcat(a,b); printf(%s,a),输 出结果是( ) 。 39. 对整形数组 int a5=3,3,3; 则执行语句 a2=a10?(a4+1):(a2+2); a2的值 为( ); 40. 定义 i

20、nt a =5,6,7,8, *p=a; 执行 *(p+); 以后, a0的值为( )。 解答: 1. 同类型 2. 6 3. 10 4. b9 5. 0 6. a 7. *(a+5) 8. *(*(a+5)+3)9. int a34 10. 5 11. 10 12. 9 13. 2 14. 3 15. 2 16. 6 17. 4 18. int a235 19. 33 20. a1 21. 20 22. 3 23. 9 24. 行 25. 0x2014 26. 25 27. 0 28. 11 29. ABC 30. 831. 20 32. 6 33. 3 34. BC 35. 4 36. 5

21、 37. 11 38. 123ABC 39. 1 40. 5 二.阅读程序写结果 1. #include void main() int a23=3,2,7,4,8,6; int i,j,m=0; for(i=1;i=1;i+) for(j=0;j=i;j+) m=m+aij; printf(m=%d,m); 2. #include void main(void) int array10 = 1, 2, 4, 5, 6, 0, 0, 0, 0, 0, i; printf(n); for (i=0; i=2; i-) arrayi = arrayi-1; array2 = 3; for (i=0

22、; i10; i+) printf(%3d , arrayi);printf(n); 3. #include void main(void) char a=ABCDEFGH,b=abCDefGh; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if (*(p1+k)=*(p2+k) printf(%c,*(p1+k); printf(n); 4. #include #include void main() char a30=Hello ; char b10=Students; char c10=Teachers; strcat(a,c); p

23、rintf(%s,%s.n,a,b); 5. #include void inv(int x,int n); void main() int i, a10=3,7,9,11,0,6,7,5,4,2; inv(a, 10); printf(The array has been reverted.n); for(i=0;i10;i+) printf(%d,ai); printf(n); void inv(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=m;i+) j=n-1-i; t=xi; xi=xj;xj=t; 6. #include void mai

24、n() float a33=1,2,3,4,5,6,7,8,9,sum=0; int i; printf(please input rectangle element:n); for(i=0;i3;i+) sum=sum+aii; printf(duijiaoxian he is %6.2f,sum); 7. #include int main() int i=1,n=3,j,k=3; int a5=1,4,5; while(iai) i+; for(j=n-1;j=i;j-) aj+1 = aj; ai = k; for(i=0;i=n;i+) printf(“%2d”,a*i+); ret

25、urn 0; 8. #include void main() int a10=0,1,2,3,4,5,6,7,8,9, b10,i,sum=0; bi=ai-1+ai; sum=sum+bi; for(i=1;i10;i+) if(i%3=0) sum=sum+bi; printf(sum=%3d,sum); 9. #include void main() int a5=2,6,1,3,4,n=5,i,j,t; for(i=0,j=1;jfor(i=1;i10;i+)if(ai void funa(int x,int n); void main() int i, a5=3,7,9,11,0;

26、funa(a, 5); for(i=0;i5;i+) printf(%d,ai); printf(n); void funa(int x, int n) int t,i,j,m=(n-1)/2; for(i=0;i=0;i-)scanf(%d,&ai); for(i=0;i5;i+) ai=ai+10; for(i=0;i5;i+) printf(%d,ai); 输入:42 31 24 15 16 13. #include void main() char a5=Zhong,Gong, ren; printf(%sn%sn, a0,a1); 14. #include void main() i

27、nt a33=0,1,2,3,4,5,6,7,8,i,j,t; for(i=0;i3;i+) for(j=0;j3;j+) aij+=ai0; for(i=0;i3;i+) printf(%d,aii); 15. #include void main() int a33=1,2,3,4,5,6,7,8,9,i,j; for(i=0;i3;i+) for(j=0;j0) i-; printf(%d,aii); 16. #include void main() int i,j; char a10=ABCDEFGHIJ;for(i=0;i10;i+) ai=ai+3; printf(%cn, a6)

28、;17. #include int main() int i,a10=0,1,2,3,4,5,6,7; for(i=1;i9;i+) ai=ai-1+ai+1; printf(%d%dn,a5,a8); return 0; 18. #include int main() int i,a=1,2,3,4,5,6,7,8,9,10; for(i=0;i=0;i-) if(ai%3=0) printf(%dn,ai); return 0; 19. #include int main() int num=13,len=0,i=0,a30; do alen=num%2; while(num); for(i=0;i int main() int a5=6,9,12,16; int x,i=3; scanf(%d,&x); while(i=0 & xnum=num/2; 共8页: 上一页 1 2 3 4 5 6 7 8 下一页13

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1