全国计算机等级考试三级C语言上机100题.docx
《全国计算机等级考试三级C语言上机100题.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试三级C语言上机100题.docx(72页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试三级C语言上机100题
全国计算机等级考试三级C语言上机100题
☆题目
1
请编写一个函数
jsValue(intm,intk,intxx[])
,该函数的功能是:
将大于整数
m且紧靠
m的
k个素
数存入数组
xx传回。
最后调用函数
writeDat()读取
10组数据,分别得出结果且把结果输出到文件
out.dat中。
部分源程序存在文件
prog1.c中。
例如:
若输入
175
则应输出:
19,23,29,31,37。
☆题目
2
已知数据文件
IN.DAT中存有
200个四位数,并已调用读函数
readDat()把这些数存入数组
a中,
请考生编制一函数
jsVal(),其功能是:
如果四位数各位上的数字均是
0或2或
4或6或8,则统计出
满足此条件的个数
writeDat()把结果
cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后
cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
main()函数调用写函数
☆★题目3
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数
StrOR(),其函数的功能是:
以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的
右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理
的字符串仍按行重新存入字符串数组xx中。
★题目4
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),
其函数的功能是:
以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。
最后把已处理的字符
串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件
OUT6.DAT中。
文:
YouHeMe
结果:
MeHeYou
☆题目5在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这
200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:
要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进
行降序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:
处理前60125099901270258088处理后90126012702580885099
☆题目6
在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存
放到数组aa中。
请编制函数jsSort(),其函数的功能是:
要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:
处理前90125099601270258088
处理后50998088702560129012
*************************************************************************
☆题目7
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产
品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单价*
数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其
功能要求:
按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果
仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。
★题目8函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制
函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,
最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。
替代关系:
f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII
值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。
(注
意中间变量用无符号整型),部分源程序存在文件prog1.c中。
原始数据文件存放的格式是:
每行的宽度均
小于80个字符。
****************************************************************
★☆题目9
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数
SortCharD(),其函数的功能是:
以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。
例:
原文:
dAe,BfC.
结果:
fedCBA.
原始数据文件存放的格式是:
每行的宽度均小于80个字符,含标点符号和空格。
★☆题目
10
函数
ReadDat()实现从文件
IN.DAT
中读取一篇英文文章存入到字符串数组
xx中,请编制函数
ConvertCharA(),其函数的功能是:
以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,
如
果是字母z,则改写成字母a。
大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。
把已处理
的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT
例:
原文:
Adb.Bcdza
中。
结果:
Aec.Bdeab
原始数据文件存放的格式是:
每行的宽度均小于80个字符,含标点符号和空格。
☆题目11程序prog1.c的功能是:
把s字符串中的所有字母改写成该字母的下一个字母,字母
字母a。
要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。
z改写成
请考生编写函数
chg(char*s)
实现程序要求,最后调用函数
readwriteDAT()
把结果输出到文件
bc1.
out
中。
例如:
s
字符串中原有的内容为:
Mn.123Zxy,则调用该函数后,结果为:
No.123Ayz。
*****************************************************************************
题目
12
已知在文件
IN.DAT
中存有
100个产品销售记录,每个产品销售记录由产品代码
dm(字符型
4位),产
品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:
金额=单
价*数量计算得出。
函数
ReadDat()是读取这
100个销售记录并存入结构数组
sell
中。
请编制函数
SortDa
t()
,其功能要求:
按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。
**************************************************************************
题目
13
已知在文件
IN.DAT
中存有
100个产品销售记录,每个产品销售记录由产品代码
dm(字符型
4位),产
品名称
mc(字符型
10位),单价
dj(
整型),数量
sl(
整型),金额
je(
长整型)五部分组成。
其中:
金额
=单
价*数量计算得出。
函数
ReadDat()是读取这
100个销售记录并存入结构数组
sell
中。
请编制函数
SortDa
t()
,其功能
要求:
按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果
仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。
**************************************************************************
☆题目
14
已知数据文件
IN.DAT
中存有
200个四位数,并已调用读函数
readDat()
把这些数存入数组
a中,请考
生编制一函数
jsVal()
,其功能是:
依次从数组
a中取出一个四位数,如果该四位数连续大于该四位数以
后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数
cnt
并把
这些四位数按从小到大的顺序存入数组
b中,最后调用写函数
writeDat()
把结果
cnt
以及数组
b中符合
条件的四位数输出到
OUT.DAT文件中。
*********************************************************************
题目15
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考
生编制一函数jsVal(),其功能是:
若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字
上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,
则统计出满足此条件的个数
cnt
并把这些四位数按从小到大的顺序存入数组
b中,最后调用写函数
writeD
at()
把结果
cnt
以及数组
b中符合条件的四位数输出到
OUT.DAT文件中。
***************************************************************************
题目
16
函数
ReadDat()
实现从文件
IN.DAT中读取一篇英文文章存入到字符串数组
xx中,请编制函数
StrCha
rJR()
,其函数的功能是:
以行为单位把字符串中所有字符的
ASCII值右移
4位,然后把右移后的字符
ASC
II值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。
最后把已处理的字符串仍按
行重新存入字符串数组
xx中,最后调用函数
writeDat()
把结果
xx输出到文件
OUT8.DAT中。
原始数据文件存放的格式是:
每行的宽度均小于
80个字符,含标点符号和空格。
**********************************************************************
题目
17
函数
READDAT()实现从文件
IN.DAT中读取一篇英文文章存入到字符串数组
XX中;请编制函数
CHA(),
其函数功能是
:
以行为单位把字符串中的第一个字符的
ASCII值加第二个字符的
ASCII
值,得到第一个亲朋
字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第
二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符
分别存放在原字符串对应的位置上。
最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调
用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:
每行的宽度均小于80个字符,含标点符号和空格.
******************************************************************************
题目18
函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encr
yptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调
用函数WriteDat()把结果xx输出到文件PS10.DAT中。
替代关系:
f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII
值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的
字符进行替代。
部分源程序存在文件prog1.c中。
原始数据文件存放的格式是:
每行的宽度均小于80个字符。
******************************************************************************
题目19
编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串在另一个字
符串中出现的次数。
例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo",子字符串为"as",
函数返回值是6。
函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat中。
****************************************************************************
题目20
编写函数jsValue,它的功能是:
求Fibonacci数列中大于t的最小的一个数,结果由函数返回。
其
中Fibonacci数列F(n)的定义为:
F(0)=0,F
(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。
例如:
当t=1000时,函数值为:
1597。
****************************************************************************
☆题目21下列程序prog1.c的功能是:
利用以下所示的简单迭代方法求方程:
cos(x)-x=0的一个实根。
迭代步骤如下:
取X1初值为0.0;
,把X1的值赋给X0;
,求出一个新的X1;
若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤
(2);所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。
请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件
部分源程序已给出。
OUT17.DAT
中。
★题目22
请编写函数countValue(),它的功能是:
求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。
例如若n为1000时,函数值应为:
s=153.909064。
题目23
已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。
请
编制函数calvalue(),其功能要求:
、求出这N个实数的平均值aver;
、分别求出这N个实数的整数部分之和
sumint以及小数部分之和
sumdec,最后调用函数
writedat()
把所求的结果输出到文件out.dat中。
题目24
下列程序prog1.c的功能是:
在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数
组中;它既是完全平方数,又是两位数字相同,例如144、676等。
请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。
★题目25
下列程序的功能是:
寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。
所谓回文数
是指其各位数字左右对称的整数,例如121,676,94249等。
满足上述条件的数如m=11,m2=121,m3=1331
皆为回文数。
请编制函数intsvalue(longm)实现此功能,如果是回文数,则函数返回1,反之则返回0。
最
后把结果输出到文件out.dat中。
★☆题目26
已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整
数并存入数组xx中。
请编制函数CalValue(),其功能要求:
1、求出这文件中共有多少个正整数totNum;2、
求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术
平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。
题目27
已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制
一函数jsValue(),其功能是:
求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的
个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行
排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:
9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+1。
,9-8-1-2>0,则该数不满足条件忽略。
★☆题目28
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考
生编制一函数jsVal(),其功能是:
把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数
字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成
另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百
位数字),如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字
均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的
个数cnt。
最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT
文件中。
☆题目29
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考
生编制一函数jsVal(),其功能是:
把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数
字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成
另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百
位数字),如果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字
均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的
个数cnt。
最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文
件中。
☆题目30
已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考
生编制一函数jsVal(),其功能是:
依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后
的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些
四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四
位数输出到OUT.DAT文件中。
☆题目31
已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产
品名称mc(字符型10