《新视野二级C上机编程题做题方法和技巧.doc》由会员分享,可在线阅读,更多相关《新视野二级C上机编程题做题方法和技巧.doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、新视野教育二级C语言上机编程题做题方法和技巧总结一、 字符串操作(一)删除*号1、 编程题中涉及“删除*号”的相关题目:8、9、19、45、54、57、61、65、77、90、92、1002、 编程题第8题的操作过程(1) 题目:假设输入的字符串中只包含字母和“*”号。请编写函数fun,它功能是:除了字符串前导的*号之外,将串中其他*号全部伤处。例如,字符串中的内容:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*ABCDEFG。(2) 分析:题目的含义可以解析为将中间和尾部的*号全部删除,剩余前导*号和字母。 前导*号:指第一个字母以前的字母,例如*A*BC*DEF*G*中的前导*
2、有4个; 尾部*号:指最后一个字母以后的字母,例如*A*BC*DEF*G*中的尾部*有7个; 中间*号:除了前导和尾部*号以外的*号。(3) 【步骤1】打开“编程题”题目,分析NONO函数NONO( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */FILE *in, *out ;int i ; char s81 ;in = fopen(D:k01in.dat,r) ;out = fopen(D:k01out.dat,w) ;for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fun(s) ; fprintf(out, %sn, s)
3、; fclose(in) ; fclose(out) ; FILE *in, *out ;/*定义了两个文件类型的指针变量in和out*/ 知识点参照课本P115页相关理论知识,文件指针的定义:FILE *指针变量名; int i ; char s81 ;/*定义了一个整型的变量i,用来表示循环的递增;定义了一个字符类型的一维数组s,用来存放后面题目中数据。*/ in = fopen(D:k01in.dat,r) ;/*in是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/知识点参照课本P115页相关理论知识,打
4、开文件的定义:fopen(文件名,文件使用方式);D:k01in.dat 打开的文件为in.dat,其中D:k01是文件存储的路径,“r”为文件打开的方式“读”,即只能读取里面的数据,不能往里面写入数据。 out = fopen(D:k01out.dat,w) ;/*out是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ for(i = 0 ; i 10 ; i+)/*循环语句,该循环将执行10次*/ fscanf(in, %s, s) ;/*从in文件所指向的数据源文件in.dat中读取一行字符串数据给一维数
5、组s,(顺便说下为什么知道是读取一行字符串数据,是因为%s格式是用来控制字符串的,因此不难判断),通过循环语句,将读取10行数据进行处理,该题目总共40分,因此每行就是4分。*/ fun(s) ;/*调用函数fun,传入实参s,从题目得知fun函数要完成的事情是: 将中间和尾部的*号全部删除,剩余前导*号和字母。*/ fprintf(out, %sn, s) ;/*printf在第二章学习的时候知道是输出的意思,fprintf的意思是将数据输出到out指针指向的文件中,以“%sn”格式方式输出,输出的数据是s,同学们一定要注意,此时的s是修改过的s,即是删除*号后的字符串。*/ fclose(
6、in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”
7、中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。本题目的要求将中间和尾部的*号全部删除,剩余前导*号和字母。将新字符串存放到“out.dat”文件中,做题的时候细心些,共10行,写错一行扣4分。 (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.da
8、t”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!3、 同类型题目列举:第9题题目:将字符串中的前导*号全部移动到字符串的尾部。第19题题目:将字符串尾部的*号全部删除,前面和中间的*号不删除。第45题题目:只删除字符串前导和尾部的*号,串中字母之间的*号不能删除。第54题题目:将字符串中的前导*号全部删除,中间和尾部的*号不删除。第57题题目:除了字符串前导和尾部*号之外,将串中其他*号全部删除。第61题题目:删除字符串中的所有的*号。第65题题目:除了字符串前导的*号之外,将串中其他*号全部删除。4、 编程题中涉及“删除*号
9、”的相关题目:10、71、935、 编程题第10题的操作过程(1) 题目:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。例如,字符串中的内容:*A*BC*DEF*G*,若n的值为4,删除后,字符串中的内容应当是:*A*BC*DEF*G*。若n的值为8,则字符串任为:*A*BC*DEF*G*。(2) 分析:将前导*号按照n的值进行舍去或不变,改变后将新的字符串存放在“out.dat”文件中即可。 (3) 【步骤1】打开“编程题”题目,分析NONO函数NONO()/* 本函数用于打开文件,输入数据,调用函数,输出数据,关
10、闭文件。 */ FILE *in, *out ;int i, n ; char s81 ; in = fopen(D:k01in.dat,r) ;out = fopen(D:k01out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(in, %s, s) ; fscanf(in, %d, &n) ; fun(s,n) ; fprintf(out, %sn, s) ; fclose(in) ; fclose(out) ; FILE *in, *out ;/*定义了两个文件类型的指针变量in和out*/ int i ; char s81 ;/*定义了一个整型的变量i
11、,用来表示循环的递增;定义了一个字符类型的一维数组s,用来存放后面题目中数据。*/ in = fopen(D:k01in.dat,r) ;/*in是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ out = fopen(D:k01out.dat,w) ;/*out是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ for(i = 0 ; i 10 ; i+)/*循环语句,该循环将执行10次*/ fscanf(in, %s, s)
12、;/*从in文件所指向的数据源文件in.dat中读取一行字符串数据给一维数组s*/ fscanf(in, %d, &n) ;/*从in文件所指向的数据源文件in.dat中读取一个整型“%d”数据给一维数组s*/ fun(s,n) ;/*调用函数fun,从题目得知fun函数要完成的事情是: 将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。*/ fprintf(out, %sn, s) ;/* fprintf的意思是将数据输出到out指针指向的文件中,以“%sn”格式方式输出,输出的数据是s,同学们一定要注意,此时的s是修
13、改过的s。*/ fclose(in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击
14、“确定”,此时“in.dat”中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。按照题目要求将每一行字符串和n作比较,如果大于n则删除多于的*号,否则什么也不变,将改动过后的新字符串存放在“out.dat”文件中,注意n就不输出到“out.dat”文件中了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节
15、!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!二、 字符串操作(二)简单的字符操作1、 编程题中涉及“简单的字符操作”的相关题目:262、 编程题第26题的操作过程(1) 题目:编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*作为结束输入的标志)(2) 分析:该题只需要从几个字符串中找到最长的字符串,放到“out.dat”文件中即可。 (3) 【步骤1】打开“编程题”题目,分析NONO函数NONO()/*
16、 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ char ss2081,*ps; int n,i=0; FILE *rf, *wf ; rf = fopen(D:k01in.dat,r) ; wf = fopen(D:k01out.dat,w) ; fgets(ssi, 81, rf); while(!strncmp(ssi,*,4)=0) i+; fgets(ssi, 81, rf); n=i; fun(ss,n,&ps); fprintf(wf, %s,ps); fclose(rf) ; fclose(wf) ; FILE *rf, *wf ;/*定
17、义了两个文件类型的指针变量rf和wf*/ char ss2081 ,*ps;/*定义了一个20行81列的二维字符类型的数组,定义了一个字符类型的指针ps */ rf = fopen(D:k01in.dat,r) ;/*rf是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ wf= fopen(D:k01out.dat,w) ;/*wf是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ fgets(ssi, 81, rf);/*fge
18、ts(ssi, 81, rf);的含义是从rf所指向的文件“in.dat”中读入一个字符串到数组ss中 */ while(!strncmp(ssi,*,4)=0)/*比较字符串ssi和“*”前4个字符是否相等,如果相等则返回为0,即已经到结尾(题目中说字符串以*结尾),在没有结束的情况下,执行循环体里面的语句。*/ i+; fgets(ssi, 81, rf);/* fgets(ssi, 81, rf);的含义是从rf所指向的文件“in.dat”中读入一个字符串到数组ss中,通过循环实现将所有的字符串读入到ss数组中*/ fun(ss,n,&ps);/*调用函数fun,从题目得知fun函数要完
19、成的事情是: 找出最长的字符串,其中最长字符串通过形参max传回给指针ps。*/ printf(wf, %s,ps);/*fprintf的意思是将数据输出到out指针指向的文件中,以“%sn”格式方式输出,输出的数据是ps,同学们一定要注意,此时的ps是最长的字符串。*/ fclose(in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如
20、果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件。(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。将“
21、in.dat”中最长的字符串复制后在“out.dat”中粘贴即可,非常简单,不要错了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!3、 编程题中涉及“简单的字符操作”的相关题目:37、594、 编程题第59题的操作过程(1) 题目: 将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,如输入字符串“-1234”,则函数把它转换为整数值-1234
22、(2) 分析:将“in.dat”文件中的数字字符串中的数字赋值后,放到“out.dat”文件中即可。 (3) 【步骤1】打开“编程题”题目,分析NONO函数NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i ; char s20 ; long n ; fp = fopen(D:k01in.dat,r) ; wf = fopen(D:k01out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(fp, %s, s) ; n = fun(s); fprintf(wf, %ldn, n)
23、; fclose(fp) ; fclose(wf) ; FILE *fp, *wf ;/*定义了两个文件类型的指针变量fp和wf*/ char s20;/*定义了一个一维字符数组 */ fp = fopen(D:k01in.dat,r) ;/*fp是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ wf= fopen(D:k01out.dat,w) ;/*wf是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ for(i = 0 ;
24、 i 10 ; i+)/*控制循环,共循环10次,那么就意味着每个正确答案4分 */ fscanf(fp, %s, s) ;/*从fp所指向的文件“in.dat”文件中读入一个“%s”,即一个字符串给数组s */ n = fun(s);/*调用函数fun,从题目得知fun函数要完成的事情是: 将一个数字字符串转换为一个整数。并将函数返回的值赋值给变量n*/ fprintf(wf, %ldn, n) ;/*fprintf的意思是将数据输出到out指针指向的文件中,以“%ldn”格式方式输出,输出的数据是n,同学们一定要注意,此时的n是整数不是字符串。*/ fclose(in) ;/*关闭文件指针
25、in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”中的后缀已经显示出来。 用
26、“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件。(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。将“in.dat”中全部数据复制后在“out.dat”中粘贴即可,非常简单,不要错了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单
27、击“评分”按钮即可显示所得分数!5、 编程题中涉及“简单的字符操作”的相关题目:306、 编程题第30题的操作过程(1) 题目: 统计一行字符串中单词的个数,作为函数值返回。(2) 分析:数“in.dat”文件中的每行单词的个数,然后将个数放到“out.dat”文件中即可。 提醒考生:注意fprintf的格式!(3) 【步骤1】打开“编程题”题目,分析NONO函数NONO()/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */FILE *rf, *wf ; int i, num ; char lineN, *p ; rf = fopen(D:k01in.da
28、t,r) ;wf = fopen(D:k01out.dat,w) ; for(i = 0 ; i 10 ; i+) fgets(line, N, rf) ; p = strchr(line, n) ; if(p != NULL) *p = 0 ; num = fun(line) ; fprintf(wf, %dn, num) ; fclose(rf) ; fclose(wf) ; FILE *rf, *wf ;/*定义了两个文件类型的指针变量rf和wf*/ char lineN;/*定义了一个一维字符数组 */ rf = fopen(D:k01in.dat,r) ;/*rf是文件指针,用来指向
29、文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ wf= fopen(D:k01out.dat,w) ;/*wf是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ for(i = 0 ; i 10 ; i+)/*控制循环,共循环10次,那么就意味着每个正确答案4分 */ fgets(line, N, rf) ;/*从fp所指向的文件“in.dat”文件中读入N字符给数组line */ num = fun(line) ;/*调用函数fun,从题目得知f
30、un函数要完成的事情是: 统计一行字符串中单词的个数。并将函数返回的值赋值给变量num*/ fprintf(wf, %dn, num) ;/*fprintf的意思是将数据输出到out指针指向的文件中,以“%dn”格式方式输出,输出的数据是num,同学们一定要注意,此时的num是字符串的个数。*/ fclose(in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。
31、 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件。(6) 【步骤4】根据题目要求将正确答案填入“ou
32、t.dat”文件中。将“in.dat”中每行字符串的个数写入“out.dat”中并回车换行。注意不要数错了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!7、 编程题中涉及“简单的字符操作”的相关题目:398、 编程题第39题的操作过程(1) 题目:删除字符串中的所有空格。例如,主函数中输入“asd af aa z67”,则输出为“asdafaaz67”(2) 分析:依照题目要求
33、将所有空格删除即可,将新字符串存放在“out.dat”文件中即可!(3) 【步骤1】打开“编程题”题目,分析NONO函数NONO()/* 请在此函数内打开文件,输入调试数据,调用 fun 函数, 输出数据,关闭文件。 */ char str81; int n = 0; FILE *rf, *wf ; rf = fopen(D:k01in.dat,r) ; wf = fopen(D:k01out.dat,w) ; while(n 10) fgets(str, 80, rf); fun(str); fprintf(wf, %s, str) ; n+ ; fclose(rf) ; fclose(wf
34、) ; FILE *rf, *wf ;/*定义了两个文件类型的指针变量rf和wf*/ char str81;/*定义了一个一维字符数组 */ rf = fopen(D:k01in.dat,r) ;/*rf是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ wf= fopen(D:k01out.dat,w) ;/*wf是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ while(n 10)/*控制循环,共循环10次,那么就意味着每个
35、正确答案4分 */ fgets(str, 80, rf);/*从fp所指向的文件“in.dat”文件中读入80字符给数组str */ fun(str);/*调用函数fun,从题目得知fun函数要完成的事情是: 将字符串中的所有空格都删除*/ fprintf(wf, %s, str) ;/*fprintf的意思是将数据输出到out指针指向的文件中,以“%sn”格式方式输出,输出的数据是str,同学们一定要注意,此时的str是删除空格以后的新字符串。*/ fclose(in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2
36、】根据考生文件夹【考试文件夹D:K01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“
37、打开方式”中选择“记事本”打开“in.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件。(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。依照题目要求将所有空格删除即可,将新字符串存放在“out.dat”文件中即可!哇哇,太简单了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!三、 字符串操作(三)删除或转换指定的字符操作1、 编程题中涉及
38、“删除或转换指定的字符操作”的相关题目:4、35、72、85、862、 编程题第4题的操作过程(1) 题目:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入“abc4EFg”,则应输出“aBc4EFg”。(2) 分析:细心的将下标为奇数位置上的字母转换为大写,放到“out.dat”文件中即可。 (3) 【步骤1】打开“编程题”题目,分析NONO函数NONO()/* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ char tt51, ch; FILE *rf, *wf ; int len, i=0 ; r
39、f = fopen(D:k01in.dat,r) ; wf = fopen(D:k01out.dat,w) ; while(i 10) fgets( tt, 50, rf ); len = strlen(tt) - 1 ; ch = ttlen ; if(ch = n | ch = 0x1a) ttlen = 0 ; fun(tt); fprintf( wf, %sn, tt ); i+ ; fclose(rf) ; fclose(wf) ; FILE *rf, *wf ;/*定义了两个文件类型的指针变量rf和wf*/ char tt51,ch;/*定义了一个一维字符类型的数组,定义了一个字符
40、类型的变量ch */ rf = fopen(D:k01in.dat,r) ;/*rf是文件指针,用来指向文件“in.dat”。fopen(D:k01in.dat,r) ; 以“r”读的方式打开“in.dat”文件*/ wf= fopen(D:k01out.dat,w) ;/*wf是文件指针,用来指向文件“out.dat”。fopen(D:k01out.dat,w)以”w”写的方式打开“out.dat”文件*/ while(i 10)/*控制循环,共循环10次,那么就意味着每个正确答案4分*/ fgets( tt, 50, rf );/* fgets(tt, 50, rf);的含义是从rf所指向
41、的文件“in.dat”中读入50个字符到数组tt中,通过循环实现将所有的字符串读入到tt数组中*/ fun(tt);/*调用函数fun,从题目得知fun函数要完成的事情是: 将下标为奇数位置上的字母转换为大写。*/ fprintf( wf, %sn, tt );/*fprintf的意思是将数据输出到out指针指向的文件中,以“%sn”格式方式输出,输出的数据是tt,同学们一定要注意,此时的tt是转换后的新字符串。*/ fclose(in) ;/*关闭文件指针in。*/ fclose(out) ;/*关闭文件指针out,文件打开后要将其关闭。*/(4) 【步骤2】根据考生文件夹【考试文件夹D:K
42、01】打开“in.dat”文件。 在桌面上双击“我的电脑”图标,然后依次双击“D盘”,双击“K01”文件夹,双击“”文件夹。 显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件,则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题。首先单击菜单栏中的“工具”,然后选择“文件夹选项”,单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉,最后单击“确定”,此时“in.dat”中的后缀已经显示出来。 用“文本文件”的方式打开“in.dat”文件。首先选中“in.dat”文件,然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“i
43、n.dat”。(5) 【步骤3】在考生文件夹下建立“out.dat”文件。(6) 【步骤4】根据题目要求将正确答案填入“out.dat”文件中。将“in.dat”中最长的字符串复制后在“out.dat”中粘贴即可,非常简单,不要错了! (7) 【步骤5】保存“out.dat”文件,进行评分(注意:考试的时候没有评分环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件。关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!3、 编程题中涉及“删除或转换指定的字符操作”的相关题目:12、25、52、754、 编程题第12题的操作过程(1) 题目:将s所指字符串中下标为偶数同时ASCII值为奇数的字符串删除,s所指串中剩余的字符形成的最新串放在t所指的数组中。(2) 分析:首先考生必须知道a的ASCII值为97,A的ASCII值为65,0的ASCII值为48,往后推出来其它字符的ASCII值,将s所指字符串中下标为偶数同时ASCII值为奇数的字符串删除,放到“out.dat”文件中即
限制150内