第01套 给定程序中,函数fun的功能
- 格式:docx
- 大小:22.10 KB
- 文档页数:12
第01套给定程序中功能是将形参n所指变量中各位上为偶数的数去除剩余的数按原来从高位到低位的顺序组成一个新的数并通过形参指针n传回所指变量。
例如输入一个数27638496新的数为739。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt void fununsigned long n unsigned long x0 i int t i1 whilen tn __1__ ift2 __2__ xxti ii10 n n /10 n__3__ main unsigned long n-1 whilengt99999999nlt0 printfquotPlease input0ltnlt100000000: quot scanfquotldquotampn funampn printfquotnThe result is: ldnquotn 解题思路第一处t是通过取模的方式来得到n的个位数字所以应填10。
第二处判断是否是奇数所以应填0。
第三处最后通形参n来返回新数x 所以应填x。
给定程序MODI1.C中函数fun 的功能是计算n。
例如给n输入5则输出120.000000。
请改正程序中的错误使程序能输出正确的结果。
注意不要改动main函数不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt double fun int n double result 1.0 if n 0 return 1.0 while n gt1 ampamp n lt 170 result n-- return result main int n printfquotInput N:quot scanfquotdquot ampn printfquotnnd lfnnquot n funn 解题思路第一处条件语句书写格式错误应改为if n0。
第二处语句后缺少分号。
请编写一个函数fun 它的功能是将一个数字字符串转换为一个整数不得调用C语言提供的将字符串转换为整数的函数。
例如若输入字符串quot-1234quot则函数把它转换为整数值-1234。
函数fun中给出的语句仅供参考。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容仅在花括号中填入你编写的若干语句。
给定源程序include ltstdio.hgt include ltstring.hgt long fun char p int i len t / len为串长t为正负标识/ long x0 lenstrlenp ifp0- t-1 len-- p else t1 / 以下完成数字字符串转换为一个数字/ return xt main / 主函数/ char s6 long n printfquotEnter a string:nquot getss n funs printfquotldnquotn NONO NONO / 本函数用于打开文件输入数据调用函数输出数据关闭文件。
/ FILE fp wf int i char s20 long n fpfopenquotc:testin.datquotquotrquot wffopenquotc:testout.datquotquotwquot fori 0 i lt 10 i fscanffp quotsquot s n funs fprintfwf quotldnquot n fclosefp fclosewf 解题思路本题是将一个数字字符串转换为一个整数。
参考答案include ltstdio.hgt include ltstring.hgt long fun char p int i len t / len为串长t为正负标识/ long x0 lenstrlenp ifp0- t-1 len-- p else t1 / 以下完成数字字符串转换为一个数字/ whilep x x10-48p return xt main / 主函数/ char s6 long nprintfquotEnter a string:nquot getss n funs printfquotldnquotn NONO NONO / 本函数用于打开文件输入数据调用函数输出数据关闭文件。
/ FILE fp wf int i char s20 long n fp fopenquotc:testin.datquotquotrquot wffopenquotc:testout.datquotquotwquot fori 0 i lt 10 i fscanffp quotsquot s n funs fprintfwf quotldnquot n fclosefp fclosewf 注意由于NONO 这个函数是改卷人用的与考生没有什么关系故下面从第2套试题开始均省略NONO※※※※※※※※※※※※※※※※※※※※※※※※※第02套给定程序中功能是将形参给定的字符串、整数、浮点数写到文本文件中再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt void funchar s int a double f __1__ fp char ch fp fopenquotfile1.txtquot quotwquot fprintffp quots d fnquot s a f fclosefp fp fopenquotfile1.txtquot quotrquot printfquotnThe result :nnquot ch fgetcfp while feof__2__ putchar__3__ ch fgetcfp putcharn fclosefp main char a10quotHelloquot intb12345 double c 98.76 funabc 解题思路本题是考察先把给定的数据写入到文本文件中再从该文件读出并显示在屏幕上。
第一处定义文本文件类型变量所以应填FILE 。
第二处判断文件是否结束所以应填fp。
第三处显示读出的字符所以应填ch。
给定程序MODI1.C中功能是: 依次取出字符串中所有数字字符形成新的字符串并取代原字符串。
请改正函数fun中指定部位的错误使它能得出正确的结果。
注意: 不要改动main函数不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt void funchar s int ij fori0j0 si0 i ifsigt0 ampamp silt9 sjsi sjquot0quot main char item80 printfquotnEnter a string : quotgetsitem printfquotnnThe string is : quotsquotnquotitem funitem printfquotnnThe string of changing is : quotsquotnquotitem 解题思路第一处: 要求是取出原字符串中所有数字字符组成一个新的字符串程序中是使用变量j 来控制新字符串的位置所以应改为sjsi。
第二处: 置新字符串的结束符所以应改为sj0. 请编写函数fun 函数的功能是: 将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。
例如二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容应是: WSHWSHWSH。
注意部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容仅在花括号中填入你编写的若干语句。
给定源程序include ltstdio.hgt define M 3 define N 4 void funchar sN char b int ijn0 fori0 i lt Ni / 请填写相应语句完成其功能/ bn0 main char a100wMNWWWWSSSSHHHH int ij printfquotThe matrix:nquot fori0 iltM i forj0jltNjprintfquot3cquotwij printfquotnquot funwa printfquotThe A string:nquotputsa printfquotnnquot NONO 解题思路本题是把二维数组中的字符数据按列存放到一个字符串中。
1. 计算存放到一维数组中的位置。
2. 取出二维数组中的字符存放到一维数组已计算出的位置中。
参考答案void funchar sN char b int ijn0 fori0 i lt Ni / 请填写相应语句完成其功能/ forj 0 j lt M j bn sji n i M j 1 bn0※※※※※※※※※※※※※※※※※※※※※※※※※第03套程序通过定义学生结构体变量存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
功能是重写形参filename所指文件中最后一个学生的数据即用新的学生数据覆盖该学生原来的数据其它学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。
注意源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行也不得更改程序的结构给定源程序include ltstdio.hgt define N 5 typedef struct student long sno char name10 float score3 STU void funchar filename STU n FILE fp fpfopen__1__ quotrbquot fseek__2__ -1LsizeofSTU SEEK_END fwriteampn sizeofSTU 1 __3__ fclosefp main STU tN10001quotMaChaoquot 91 92 77 10002quotCaoKaiquot 75 60 88 10003quotLiSiquot 85 70 78 10004quotFangFangquot 90 82 87 10005quotZhangSanquot 95 80 88 STUn10006quotZhaoSiquot 55 70 68 ssN int ij FILE fp fp fopenquotstudent.datquot quotwbquot fwritet sizeofSTU N fp fclosefp fp fopenquotstudent.datquot quotrbquot freadss sizeofSTU N fp fclosefp printfquotnThe original data :nnquot for j0 jltN j printfquotnNo: ld Name: -8s Scores: quotssj.sno for i0 ilt3 i printfquot6.2f quot ssj.scorei printfquotnquot funquotstudent.datquot n printfquotnThe data after modifing :nnquot fp fopenquotstudent.datquot quotrbquot freadss sizeofSTU N fp fclosefp for j0 jltN j printfquotnNo: ld Name: -8s Scores: quotssj.sno for i0 ilt3 iprintfquot6.2f quot ssj.scorei printfquotnquot 解题思路本题是考察如何从文件中读出数据再把结构中的数据写入文件中。