您的当前位置:首页正文

第01套 给定程序中,函数fun的功能

2024-10-18 来源:威能网


第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 fp

fopenquotc:testin.datquotquotrquot wf fopenquotc: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 n printfquotEnter a string:nquot getss n funs printfquotldnquotn NONO NONO / 本函数用于打开文件输入数据调用函数输出数据关闭文件。 / FILE fp wf int i char s20 long n fp fopenquotc:testin.datquotquotrquot wf fopenquotc: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 int b12345 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 forj0jltN jprintfquot3cquotwij 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 fp fopen__1__ quotrbquot fseek__2__ -1LsizeofSTU

SEEK_END fwriteampn sizeofSTU 91 70

92 78

1 __3__ fclosefp main

75 90

STU 60 82

tN 88 87

10001quotMaChaoquot 10003quotLiSiquot

85

77 10002quotCaoKaiquot

10004quotFangFangquot

10005quotZhangSanquot 95 80 88 STU n10006quotZhaoSiquot 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 ssj.name 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 ssj.name for i0 ilt3 i printfquot6.2f quot ssj.scorei printfquotnquot 解题思路 本题是考察如何从文件中读出数据再把结构中的数据写入文件中。 第一处从指定的文件中读出数据所以应填filename。 第二处读取文件fp的最后一条记录所以应填fp。 第三处再把读出的记录写入文件fp指定的位置上所以应填fp。 给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表 并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误 使它能得出正确的结果。 注意: 不要改动main函数 不得增行或删行 也不得更改程序的结构 给定源程序 include ltstdio.hgt include ltstdlib.hgt typedef struct aa int data struct aa next NODE NODE Creatlinkint n int m NODE hNULL p s int i pNODE mallocsizeofNODE hp p-gtnextNULL fori1 iltn i sNODE mallocsizeofNODE s-gtdatarandm s-gtnextp-gtnext p-gtnexts pp-gtnext return p outlinkNODE h NODE p ph-gtnext printfquotnnTHE LIST :nn HEAD quot whilep printfquot-gtd quotp-gtdata pp-gtnext printfquotnquot main NODE head headCreatlink822 outlinkhead 解题思路 第一处: 指向刚分配的结构指针所以应改为pNODE mallocsizeofNODE 第二处: 在动态分配内存的下一行语句是使用临时结构指针

变量h保存p指针的初始位置 最后返回不能使用p是因为p的位置已经发生了变化所以应改为返回h。 请编写函数fun 函数的功能是:统计一行字符串中单词的个数作为函数值返 回。一行字符串在主函数中输入 规定所有单词由小写字母组成单词之间由若干 个空格隔开 一行的开始没有空格。 注意部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容 仅在花括号中填入 你编写的若干语句。 给定源程序 include ltstdio.hgt include ltstring.hgt define N 80 int fun char s main char lineN int num0 printfquotEnter a string :nquot getsline numfun line printfquotThe number of word is : dnnquotnum NONO 解题思路 本题是统计字符串中的单词数。 1. 利用while循环语句和指针变量当字符为空格时则单词数k加1。 2. 循环结束返回k。 参考答案

int

fun

char

s

int

k

1

whiles

ifs

k

s

return

k

※※※※※※※※※※※※※※※※※※※※※※※※※ 第04套 程序通过定义学生结构体变量存储了学生的学号、姓名和3门课的成绩。所 有学生数据均以二进制方式输出到文件中。功能是从形参filename所指 的文件中读入学生数据并按照学号从小到大排序后再用二进制方式把排序后的 学生数据输出到filename所指的文件中覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序 include ltstdio.hgt define N 5 typedef struct student long sno char name10 float score3 STU void funchar filename FILE fp int i j STU sN t fp fopenfilename __1__ freads sizeofSTU N fp fclosefp for i0 iltN-1 i for ji1 jltN j if si.sno __2__ sj.sno t si si sj sj t fp fopenfilename quotwbquot __3__s sizeofSTU N fp / 二进制输出 / fclosefp main STU tN 10005quotZhangSanquot 95 80 88 10003quotLiSiquot

85

70

78

10002quotCaoKaiquot

75

60

88

10004quotFangFangquot 90 82 87 10001quotMaChaoquot 91 92 77 ssN int ij FILE fp fp fopenquotstudent.datquot quotwbquot fwritet sizeofSTU 5 fp fclosefp printfquotnnThe original data :nnquot for j0 jltN j printfquotnNo: ld Name: -8s

Scores: quottj.sno tj.name for i0 ilt3 i printfquot6.2f quot tj.scorei printfquotnquot funquotstudent.datquot printfquotnnThe data after sorting :nnquot fp fopenquotstudent.datquot quotrbquot freadss sizeofSTU 5 fp fclosefp for j0 jltN j printfquotnNo: ld Name: -8s Scores: quotssj.sno ssj.name for i0 ilt3 i printfquot6.2f quot ssj.scorei printfquotnquot 解题思路 本题是考察把结构中的数据写入文件。 第一处建立文件的类型考虑到是把结构中的数据结构中的数据包含不打印的字符 从文件中读出所以应填quotrbquot。 第二处判断当前学号是否大于刚读出的学号进行相比如果大于则进行交换所以应填gt。 第三处把已排序的结构数据重新写入文件所以应填fwrite。 给定程序MODI1.C中功能是: 在字符串的最前端加入n个号 形成新串 并且覆盖原串。 注意: 字符串的长度最长允许为79。 请改正函数fun中指定部位的错误 使它能得出正确的结果。 注意: 不要改动main函数 不得增行或删行 也不得更改程序的结构 给定源程序 include ltstdio.hgt include ltstring.hgt void fun char s int n char a80 p int i sp fori0 iltn i ai do aip i whilep ai0 strcpysa main int n char s80 printfquotnEnter a string : quot getss printfquotnThe string quotsquotnquots printfquotnEnter n number of : quot scanfquotdquotampn funsn printfquotnThe string after insert : quotsquot nquot s 解题思路 第一处: 指针p应指向s所以应改为ps。 第二处: 死循环当do while循环执行一次临时变量p应该指向字符串的下一位置所以应改为whilep。 请编写函数fun函数的功能是:统计各年龄段的人数。N个年龄通过调用随机 函数获得并放在主函数的age数组中要求函数把0至9岁年龄段的人数放在d0 中把10至19岁年龄段的人数放在d1中把20至29岁年龄段的人数放在d2中 其余依此类推 把100岁 含100以上年龄的人数都放在d10中。结果在主函数中输出。 注意部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在花括号中填入你编写的若干语句。 给定源程序 include ltstdio.hgt define N 50 define M 11 void fun int a int b double rnd static t29c217m1024r0 rrtcm returndoubler/m main int ageN i dM fori0 iltNiageiint115rnd printfquotThe original data :nquot

fori0iltNi printfi1100quot4dnquot:quot4dquotagei printfquotnnquot fun age d fori0ilt10iprintfquot4d---4d : 4dnquoti10i109di printfquot Over 100 : 4dnquotd10 NONOd 解题思路 本题是统计各年龄段的人数。 1. 初始化各年龄段人数为0。 2. 使用for循环以及求出各年龄的十位数字作为存放人数的地址如果大于值大于10则 存入d10中大于110岁的人。 参考答案 void fun int a int b int i j fori 0 i lt M i bi 0 fori 0 i lt N i j ai / 10 ifj gt 10 bM - 1 else bj double rnd static t29c217m1024r0 rrtcm returndoubler/m ※※※※※※※※※※※※※※※※※※※※※※※※※ 第05套 给定程序中功能是将参数给定的字符串、整数、浮点数写到文本 文件中再用字符串方式从此文本文件中逐个读入并调用库函数atoi和atof将 字符串转换成相应的整数、浮点数然后将其显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序 include ltstdio.hgt include ltstdlib.hgt void funchar s int a double f __1__ fp char str100 str1100 str2100 int a1 double f1 fp fopenquotfile1.txtquot quotwquot fprintffp quots d fnquot s a f __2__ fp fopenquotfile1.txtquot quotrquot fscanf__3__quotsssquot str str1 str2 fclosefp a1 atoistr1 f1 atofstr2 printfquotnThe result :nns d fnquot str a1 f1 main char a10quotHelloquot int b12345 double c 98.76 funabc 解题思路 本题是考察先把给定的数据写入到文本文件中再从该文件读出并转换成相应的整数、浮点数显示在屏幕上。 第一处定义文本文件类型变量所以应填FILE 。 第二处关闭刚写入的文件所以应填fclosefp。 第三处从文件中读出数据所以应填fp。 给定程序MODI1.C中功能是: 对N名学生的学习成绩按从高到低的顺序找出前mm≤10名学生来 并将这些学生数据存放在一个动态分配的连续存储区中 此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误 使它能得出正确的结果。 注意: 不要改动main函数 不得增行或删行 也不得更改程序的结构 给定源程序 include ltstdio.hgt include ltalloc.hgt include ltstring.hgt define N 10 typedef struct ss char num10 int s STU STU funSTU a int m

STU bN t int ijk tSTU callocsizeofSTUm fori0 iltN i biai fork0 .

因篇幅问题不能全部显示,请点此查看更多更全内容