教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

上海市计算机二级考试(C语言)复习资料题目(11)

来源:网络收集 时间:2026-08-26
导读: 16. 编写一个名为cntatoz的函数,输入一行字符,统计其中的英文字母个数(大小写不论)。 .... 17. 设有3名学生成绩存在如下的数组中:: int score[3][4]={{65,57,70,60},{90,87,50,81},{90,65,100,98}} 编程输出

16. 编写一个名为cntatoz的函数,输入一行字符,统计其中的英文字母个数(大小写不论)。 ....

17. 设有3名学生成绩存在如下的数组中::

int score[3][4]={{65,57,70,60},{90,87,50,81},{90,65,100,98}} 编程输出有成绩低于60分的某学生所有成绩(按C语言的规则,允许第0行)。 .......

18. 试用do - while控制结构,计算下列公式的近似值 246xxx s?1????? 2?1!4?3!6?5!当计算某项的绝对值小于0.0001时,该项及以后各项不再累加,结束循环求和。

19. 试用for 控制结构,求数组a[N]的前k(k <= N )个元素的最大值和最小值。将统计结果分别存于变量max和min中。

20. 输入10个数,输出这10个数中仅出现一次的数 如输入:12 36 72 36 87 99 87 87 12 35 则输出:72 99 35

21.试设计一个函数,它能求出两个整型数的和与积,同时,再编写一个主程序main,调用上述函数以验证该函数的功能与正确性。

22.输入若干非0实数,直到输入0时停止,要求输入的实数最多不超过20个,统计其中正数的个数,负数的个数。

23.输入一行字符,统计其中的英文字母个数。

24. 编写完整的程序,用公式 1111e?1??????? 1!2!3!n!

-7

计算e的近似值,直到某项小于10为止。

25. 定义一个带参数的宏,其功能是求一个数的绝对值。

26. 求出1—1000之间“水仙花数”。要求的水仙花数是个三位数,它的各位数字之和等于该数本身,例如:153=13+53+53,所以153是个水仙花数。

27. 应用递归算法求某数a的平方根。求平方根的迭代公式如下:

1ax1=(x0?)

2x028. 将十进制正整数m转换成k(2<=k<=9)进制数,并按位输出。例如,若输入8和2,

则应输出1000(即十进制数8转换成二进制的表示是1000)。

29. 求s=aa?aa-aaa?-aa-a(此处 aa?aa表示n个a,a和n的值在1至9之间)。例如,若a=3,n=6,则以上表达式 为s=333333-33333-3333-333-33-3,其值是:296298。a和n是fun 函数的形参,表达式的值作为函数值传回main函数。

30. 编写函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为7654321时,t中的数为642。

31. 编写函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上的各元素之和,返回此和数。

32. 编程,对输入的字符串s,删除其中的所有空白字符(包括tab字符、回车符及换行符)。输入字符串时用“#”结束输入。

33. 编写函数fun的功能是: 将s所指字符串中最后一次出现的t1所指字符串替换成t2所指的子串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的程度相同。例如,当s所指字符串中的内容为:“abcdabfabc”,t1所指的子串中的内容为:“ab”,t2所指子串中的内容为:“99”,结果,在w所指的数组中的内容应为:“abcdabf99c”。

34. 编写函数fun的功能是: 将a所指字符串中的字符和b所指字符串中的字符按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为:“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a1b2c3d4efg”;而当a所指字符串中的内容为“1234”,b所指字符串中的内容为“abcdefg”时,c所指数组中的内容应该为“1a2b3c4defg”。

35. 编写函数fun的功能是:从传入的num个字符串只能找出最长的一个字符串,并通过形参指针max传回该串地址。(用****作为结束输入的标志)

36.编写函数fun的功能是:将s所指字符串的反序和正序进行连接,形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。

37. 利用gets( )函数获取用户输入的字符串s1,用s和s2分别指向其首地址,通过扫描让s2指向最后一个字符,依次交换s1和s2所指字符,直到s1≤s2为止。最后输出的s字符串即为所求。编写程序。

38. 编写程序,要求函数match(s,t)完成在字符串s中寻找与t匹配的字符,若存在一个匹配,则返回t在字符串中的下标;否则,返回-1。其中字符指针*b始终指向s的第一个元素。要求字符串s的长度大于字符串t的长度,本例中chars[81], t[20]。

39. 编写程序,用于把两个链表{3,12,8,9,11}和{1,2,3}连接起来。其中create_list用来创建链表,链表结点的数据从数组中导入,并返回链表的首结点指针。函数concatenate用来把由实参传进来的两个链表连接起来,返回第一个链表的首结点指针。函数printlink用来遍历打印链表。

40. 函数reverse()实现将已知链表的链接顺序颠倒的功能,即第1个表元素变为最后一个表元素,第2个表元素变为倒数第2个表元素??最后一个表元素变为第1个表元素。 本程序的主要难点在reverse()函数,其它的程序段为验证该函数用,采用了head全局变量是为了简化程序中的参数传递。

程序中先用指令p=q2->next; 将p定位q2->next结点,再用指令q1=q2; 将q1指向当前q2所指的结点,然后用指令q2->next=q1; 进行逆向单链表的连接,如此循环至q2=NULL。

41. 编程实现对一个文本文件中内容的反向显示。运行该程序前,必须先在c:\\tc目录下编辑并保存一个名为“text.txt”的文本文件(可利用记事本)。该程序先利用读方式打开该文本文件,定位到文件尾,从文件尾向前定位,定位成功则读取一个字符并显示,达到反向显示的目的。

42. 编程序测试fgets()、fputs()、fopen()和fclose()的用法,程序运行后,在磁盘的当前目录下上生成名为“test.txt”的文本文件。

43. 编程序利用fread()函数和fwrite()函数向磁盘文件进行读写操作,先用fwrite()函数向文件f1写入小写字母,再调用dx()函数读取该文件,将其中的小写字母转换成大写字母并输出,这两个函数用于二进制数据的读写。

44. 用链表操作实现数制的转换,试编程。

第五部分 读程序,填写指令

1. 该程序扫描二维数组,统计其中正数、负数和零的个数。 main()

{ int a[3][4]={1,2,3,4,0,-1,-2,-5,5,6,-8,0}; int p,m,z,i,j; ① ;

for (i=0;i<3;i++) for (j=0;j<4;j++) if (a[i][j]>0) p++;

else if (a[i][j]==0) z++; ② ;

printf(\ }

2. 在C:\\TC目录下有个file1.dat文件,将该文件中的小写字母改为大写字母后,复制到另一个名为file2.dat的文件中去。 #include main()

{ FILE *in, *out; char ch;

if ((in=fopen(“ ① ”,”r”))==NULL)

{printf(“Cannot open file1.dat \\n”); exit(0);} if ((out=fopen(“ ② “,”w”))==NULL) { printf(“Cannot open file2.dat\\n”); exit(0);} while ( ③ ) { ch=fgetc(in);

if (ch>=’a’&&ch<=’z’) ch=ch-32; fputc(ch,out); }

fclose(in); fclose(out); }

3. 已知head指向单链表的第一个结点,以下函数完成往降序单向链表中插入一个结点,插入后的链表仍有序。 #include struct student { int info;

struct s …… 此处隐藏:2495字,全部文档内容请下载后查看。喜欢就下载吧 ……

上海市计算机二级考试(C语言)复习资料题目(11).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614451.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)