niusouti.com

有两个磁盘文件A.txt和B.txt,各存放一行字符(请同学们将A.txt和B.txt放在和程序相同的文件夹中,并自行在其中添加一行字符),要求把这两个文件中的信息合并(按字母顺序重新排列),并输出到一个新文件C中。 (得分点提示:程序的可读性、功能是否正确)

题目

有两个磁盘文件A.txt和B.txt,各存放一行字符(请同学们将A.txt和B.txt放在和程序相同的文件夹中,并自行在其中添加一行字符),要求把这两个文件中的信息合并(按字母顺序重新排列),并输出到一个新文件C中。 (得分点提示:程序的可读性、功能是否正确)


相似考题
更多“有两个磁盘文件A.txt和B.txt,各存放一行字符(请同学们将A.txt和B.txt放在和程序相同的文件夹中,并自行在其中添加一行字符),要求把这两个文件中的信息合并(按字母顺序重新排列),并输出到一个新文件C中。 (得分点提示:程序的可读性、功能是否正确)”相关问题
  • 第1题:

    在名为Form1的窗体上建立两个名称分别为Cmd1和Cmd2,标题分别为“读取”和“连接”的命令按钮。编写适当的事件过程,使程序运行后,单击“读取”按钮,可通过输入对话框输入两个字符串,存入字符串变量char1、char2中(char1、char2应定义为窗体变量),若单击“连接”按钮,则把两个字符串连接为一个字符串(顺序不限)并在信息框中显示出来(如下图所示)。

    注意:

    在程序中不得使用任何其他变量;文件必须存放在考生文件夹中,窗体文件名为 execise38.frm,工程文件名为execise38.vbp。


    正确答案:

  • 第2题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组)XX中;请编制函数StrOR,其函数的功能是:以该文章中的行为单位依次扫描一行字符串中的小写字母0,每次将小写母0的左右字符串部分作交叉换位,即左边字符串移到小写字母0的右边,而原先右边的则反之,并把小写母O删除,依次直至这一行中的小写母0处理完,之后把已处理的字符串仍按行重新存入字符串数组)XX中。 最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。例如原文:you have the correct record. 第1个o:U have the correct record.Y 第2个o:rrect record.yuhavethe c 第3个o:rd.yuhavethe crrect rec 提示:对于每一行字符串数组处理有如下一种递归调用算法可供参考: 查找字符串中首个小写字母'0'的位置;没有找到'0',则结束递归调用;找到'0',则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位,依次把字符串中所有小写字母0左边的字符串内容移到该串的右边存放,然后把小写字母0删除,余下的字符串内容移到已处理字符串的左边存放。
    【解题思路】
    ①定义循环变量i和字符数组before[80]、after[80]及字符指针变量P。
    ②在for循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,利用while循环语句一直执行如下的操作,调用库函数strchr定位字母0在字符串xx[i]中第一次出现的位置P。如果P非空,说明在此字符串中找到了字母0,对于xx[i]有字母0的情况,从字符串xx[i]的第xx[i]+(p.xx[i]+1)字符开始,直到字符的结尾,调用字符串拷贝函数strcpy把字母0后面的字符串拷贝到字符数组after[80]中,然后把+p的值设置为0,删除字母0,调用字符串拷贝函数s仃cpy把字符串xx[i]拷贝到字符数组before[80]qh,调用字符串拷贝函数strcpy把字符数组after[80]中的值拷贝到xx[i],再调用字符串连接函数streat把xx[i]与before[80]相连接,实现字母0前后字符串的互换。如果P为空,说明在XX[i]中没有字母0,则退出while循环。进入下一行字符串的处理。
    【参考答案】

  • 第3题:

    给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和Write"Fext实现。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)*fw (2)str (3)str
    (1)*fw (2)str (3)str 解析:本题要求是把一段文本写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。主要是文件操作以及fbuts和fgets函数的使用。

  • 第4题:

    在考生目录下有一个工程文件sjt3.vbp,包含了所有控件和部分程序。程序运行时,在文本框中每输入一个字符,则立即判断:若是小写字母,则把它的大写形式显示在标签Labell中;若是大写字母,则把它的小写形式显示在Label1中;若是其他字符,则把该字符直接显示在LabelI 中。输入的字母总数则显示在标签Label2中,如图4所示。 要求:去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不得修改已经存在的程序,最后把修改后的文件按原文件名存盘。

    (2)在考生文件夹下有一个工程文件sjt4.vbp。窗体中有~个图片框,图片框中有一个名称为Shapel的蓝色圆,如图5所示。程序运行时,单击“开始”按钮,圆逐渐变大(圆心位置不变),当圆充满图片框时则变为红色,并开始逐渐缩小,当缩小到初始大小时又变为蓝色,并再次逐渐变大,如此往复。单击“停止”按钮,则停止变化。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。 提示:程序中的符号常量bule color表示蓝色的值,red color表示红色的值。 注意:不能修改程序的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。


    正确答案:
    第1小题
    【知识点拔】①UCase函数用于将字符串中小写字母转换为大写字母,原本大写或非字母字符保持不变。②LCase函数用于将字符串中大写字母转换为小写字母,原本小写或非字母字符保持不变。(3)Right(字符串,个数)函数用于取出已有字符串最右边指定个数的字符串。
    【审题分析】本题原程序在文本框中内容改变时(即Chage事件过程中),通过Right函数始终取出其刚输入的字符,若该字符位于大写字母A~Z之间,则将其转换成小写字母后显示在标签Label1 中,记录字母个数的变量n增1;反之,若该字符位于小写字母a~z 之间,则将其转换成大写字母后显示在标签Label1中,记录字母个数的变量n增1;如果以上两种情况均不是,则将该字符直接显示在Label1中,最后在标签Label2中显示变量n的值。
    【操作步骤】
    步骤1:打开考生文件中的本题工程文件sjt3.vbp,在代码编辑窗口,去掉程序中的注释符“'”,将问号“?”改为正确的内容。

    第2小题
    【知识点拔】形状控件(Shape)提供了显示一些规则图形的简易方法。通过设置形状控件Shape属性值,可显示6种图形:0-矩形、1-正方形、2-椭圆、3-圆、4-圆角矩形、5-圆角正方形。Width属性用于设置形状的宽度,当形状为圆时即为圆的直径。
    【审题分析】本题在计时器的Timer事件过程中,若Shape1填充色为蓝色则需要进行放大,若放大后其Left属性值小于或等于0 则Shape的填充色改为红色,并开始缩小。若缩小后其Left属性值大于等于原来的大小时再将其填充色改为蓝色,并开始放大。形状的放大缩小通过改变Left、Top、Width、Height属性来实现。
    单击“开始”,计时器启动,Shape1开始进行放大缩小活动。
    【操作步骤】
    步骤1l:打开考生文件下的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符“”’,将问号“?”改为正确的内容。

  • 第5题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。 例:原文:dAe,BfC. CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新存入字符串数组中。
    【解题思路】
    ①首先定义字符变量ch和无符号整型变量i、j、k。
    ②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等于strlen(xx[i]),对每一行中的数组元素xx[il[j]、XX[i][k]按照它们的ASCII码值的大小进行比较,如果xx[i][j]的ASCII码小于XX[i][k]的ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小的顺序进行排序。
    【参考答案】

  • 第6题:

    给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)i (2)ps[j] (3)tp
    (1)i (2)ps[j] (3)tp 解析:本题中函数fun的功能是利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。在fun函数中采用了选择排序法,在选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一元素交换,接着从剩下的n-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

  • 第7题:

    在考生文件夹中有工程文件execise92.vbp及窗体文件execise92.frmo在名为Form1的窗体中有一个Rich Text文本框控件(名称为rtx1),一个文本框控件(名称为Text1),两个命令按钮(名称分别为Cmd1和Cmd2,标题分别为“加入92.TXT”和“统计字符个数”),如下图所示。

    要求程序运行后,单击“加入92.TXT按钮将考生文件夹中的92.txt的内容显示到rtx1中;单击“统计字符个数”按钮统计Text1中有多少个字符并将结果显示在Text1中。

    本程序不完整,请补充完整,并能正确运行。

    要求:

    去掉程序中的注释符“'”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后,按原文件名并在原文件夹中保存修改后的文件。


    正确答案:

  • 第8题:

    给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)[M] (2)N (3)0或ˋ\0 ˊ
    (1)[M] (2)N (3)0或ˋ\0 ˊ 解析:本题中函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。

  • 第9题:

    函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。

    例如,原文:Adb.Bcdza

    abck.LLhj

    结果:Aec.Bdeab

    bcdl.LLik

    原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

    注意:部分源程序已给出。

    请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。


    #include
    #include
    #include
    char xx[50][80] ;
    int maxline = 0 ;/* 文章的总行数 */
    int ReadDat(void) ;
    void WriteDat(void) ;
    void ConvertCharA(void)
    {
    int i,j; /*定义循环控制变量*/
    int str; /*存储字符串的长度*/
    for(i=0;i
    {
    str=strlen(xx[i]); /*求得当前行的字符串的长度*/
    for(j=0;j
    if(xx[i][j]>='a' && xx[i][j]<='z') /*如果是小写字母*/
    if(xx[i][j]=='z')
    xx[i][j]='a'; /*如果是小写字母z,则改写成字母a*/
    else
    xx[i][j]+=1; /*其他的小写字母则改写为该字母的下一个字母*/
    }
    }
    void main()
    {
    system("CLS");
    if(ReadDat())
    {
    printf("数据文件IN5.DAT不能打开!\n\007") ;
    return ;
    }
    ConvertCharA() ;
    WriteDat() ;
    }
    int ReadDat(void)
    {
    FILE *fp ;
    int i =0 ;
    char *p ;
    if((fp = fopen("IN5.DAT", "r")) == NULL) return 1 ;
    while(fgets(xx[i], 80, fp) !=NULL)
    {
    p = strchr(xx[i], '\n') ;
    if(p) *p = 0 ;
    i++;
    }
    maxline = i ;
    fclose(fp) ;
    return 0 ;
    }
    void WriteDat(void)
    {
    FILE *fp ;
    int i ;
    system("CLS");
    fp = fopen("OUT5.DAT", "w") ;
    for(i = 0 ; i < maxline ; i++)
    {
    printf("%s\n", xx[i]) ;
    fprintf(fp, "%s\n", xx[i]) ;
    }
    fclose(fp) ;
    }

  • 第10题:

    假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现在要将文件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命令为【 】。


    正确答案:COPY A.TXT+B.TXT或COPY A.TXT+B.TXT A.TXT
    COPY A.TXT+B.TXT或COPY A.TXT+B.TXT A.TXT

  • 第11题:

    下列选项中()不是问号(?)通配符的功能。

    • A、在不知道文件名某一个字符时,把问号放在该字符的位置
    • B、可把要找的文件或文件夹搜索出来
    • C、可以代替文件或文件夹中的一个乃至多个字符
    • D、只能代替文件名中的一个字符

    正确答案:C

  • 第12题:

    在Windows中,关于文件夹的描述不正确的是()。

    • A、文件夹是用来组织和管理文件的
    • B、“我的电脑”是一个文件夹
    • C、文件夹中可以存放驱动程序文件
    • D、文件夹中可以存放两个同名文件

    正确答案:D

  • 第13题:

    给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

    例如,形参s所指的字符串为:Abe@1x56*。程序执行后t所指字符数组中的字符串应为:A@156*。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)*s (2)s++ (3)n
    (1)*s (2)s++ (3)n 解析:本题中函数fun的功能是将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。逐个搜索s字符串,如果字符的ASCII.码值小于97,那么将该字符存入形参t所指字符数组中,并统计个数,搜索完整个字符串便可完成要求的功能。

  • 第14题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母Z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,大小写不变,其他字符不变。
    【解题思路】
    ①定义整型循环变量i、j。

    【参考答案】

  • 第15题:

    若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为( )。

    A.COPY A.TXT>>B.TXT

    B.MOVE A.TXT>>B.TXT

    C.PATH A.TXT>>B.TXT

    D.TYPE A.TXT>>B.TXT


    正确答案:D

  • 第16题:

    函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out.dat中。 条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。


    正确答案:
    【审题关键句】以行为单位从字符串左边部分降序排序,右边部分升序排序。如果原字符串长度为奇数,则最中间的字符不参加处理。
    【解题思路】
    ①定义字符局部变量ch,整型循环变量i、j、k和表示字符串长度的变量len、P。
    ②在第一层for循环中,变量i从0开始,依次递增直到其值等于20,在循环体中,首先调用库函数strlen(xx[i])求得字符串xx[il的长度,把此值转化成整型赋给变量len,用len的值除以2,得到字符串xx[i]的长度的一半赋给变量P;在第二层for循环中,变量j从0开始,依次递增直到其值等于(p-1),在循环体中执行第三层for循环,循环变量k从j+1开始,依次递增直到其值等于P,对字符串xx[i]左半部分的子字符串中的字符xx[i][j]和xx[i][k]按照ASCII码值的大小进行比较,如果xx[i][j]的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换,实现对字符串xx[i]左半部分的子字符串按照降序排列。然后,有if条件语句判断,len对2的余数是否等于1,如果等于1,说明字符串xx[i]的长度为奇数,则变量P加1,因为这时字符串的中间字符不参与排序。再对字符串xx[i][j]右半部分的字符串按升序排列。在for循环中,变量j从P开始,依次递增直到其值等于len-1,在循环体中,执行for循环中,变量k从j+1开始,依次递增直到其值等于Ien,对字符xx[i][j]和xx[i][k]按其ASCII码值的大小进行比较,如果字符xx[i][j]的ASCII码值大于xx[i][k]的ASCII码值,则两者进行互换,实现字符串xx[i]右半部分的字符串按照升序排列。
    【参考答案】

  • 第17题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数StrOL,其函数的功能是: 以读入文章的行为单位,以空格或标点符号(数据文件中仅含’,’或’.’作为标点符号)作为分隔符,对行中所有单词进行倒排, 单词间仍以空格作为分隔符,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组XX中。最后main函 数调用函数wmeDat把结果XX输出到文件0ut.dat中。提示:对于每一行字符串可以先提取最后一个单词,再提取倒数第二个单词,直至第一个单词,单词之后采用空格为分隔符,连接成一行新的字符串。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。
    【解题思路】
    ①定义字符数组line[80]、word[80]和字符指针变量P,循环整型变量i、j。
    ②在for叫循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行字符串的如下处理。调用内存分配函数memset给字符数组line和word在内存中分配80个字符空间的大小。使指针变量P指向字符串xx[i]的头,变
    量j的初值设为0。利用while循环语句,当指针变量P没有到达xx[i]的结尾时,一直执行如下的操作:当*p是字母时,把*p赋给字符数组line,同时字符数组下标j加l,字符指针P加1,指向下一个字母。直至*p是单词间的分隔符时,退出第二层while循环。调用字符串连接函数strcat在字符串line后面添加一个空格,实现用空格分隔各个单词,再把由前面的单词组成的字符串word连接到当前单词的后面,实现按单词逆序排列。把重新组成的新的字符串利用函数strcpy拷贝到word中。调用函数memset对字符数组line在内存中重新分配80个字符空间,并设置其下标从0开始。当*p非空且不是字母的情况下,指针P加1,指向其下一个字符。依次循环,直到xx[i]的结束。最后把对字符串xx[i]的处理结果word拷贝到xx[i]中,再进行对文章下一行的处理。
    【参考答案】

  • 第18题:

    程序test.C的功能是:把S字符串中的所有字母改写成该字母的下一个字母,字母2改写成字母a,字母z改写成字母 A,其他字符不做改变。 请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT把结果输出到文件0ut.dat中。例如:S字符串中原有的内容为:Mn.123xyz,则调用该函数后,结果为:N0.123Ayz。 注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main和输出数据函数read writeDAT的内容。


    正确答案:
    【审题关键句】把str字符串中的所有字母改写成该字母的下一个字母。
    【解题思路】
    ①定义局部字符变量ch和字符指针变量P,并使其指向字符串S。
    ②当P所指的字符非空时,把字符*p赋给字符ch,当字符ch不是字母Z或者’Z’时,把字符ch的ASCII码值加1,变成其下一个字符的ASCII码,并把这个值赋给字符*p,否则,如果字符ch是字符Z,则把字符*p的设置为字符’a’,否则,如果字符ch是字符’Z’,则把字符*p的设置为字符’Af,字符指针变量加1,使其指向字符串s的下一个字符,在下一次循环中处理。
    【参考答案】

  • 第19题:

    给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。

    例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)ˋ0ˊ (2)s++ (3)ctod(a)+ctod(b)
    (1)ˋ0ˊ (2)s++ (3)ctod(a)+ctod(b) 解析:本题中函数fun的功能是将a和b所指的两个字符串转换成对应值的整数并进行相加作为函数值返回,函数ctod(char*s)的功能是将字符串转化为long整型,故在fun函数内调用ctod函数完成字符串到整数的变换,然后求和即可。

  • 第20题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z,其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。例:原文:Adb.Bcdza abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat0和输出函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,大小写不变,其他字符不变。
    【解题思路】
    ①定义整型循环变量i、j。
    ②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。第二层for循环中,循环变量J从0开始,依次递增直到其值大于或等于strlen(xx[i]),在循环体中,利用if条件语句判断如果xx[i][j]的值为字符’a’,则把xx[i][j]的值设置为字符’2’。否则如果XX[i][D]的值在小写字符’at与’2’之间,则把xx[i][j]的值减1,把其值变成其前一个字符的ASCII码。
    【参考答案】

  • 第21题:

    以下程序的功能是:对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。


    正确答案:

  • 第22题:

    在同一个文件夹下,文件“a.txt”和文件“A.txt”可以同时存在。


    正确答案:错误

  • 第23题:

    以下关于星号(*)通配符说法不正确的是()。

    • A、在搜索文件或文件夹的时候,如果忘记一个或几个字符,可以把星号放在该字符的位置,可把要找的文件或文件夹搜索出来
    • B、如果知道文件名的开始的几个字符,而忘记了其余部分,可以将星号通配符放在开始的几个字符后边,代替遗忘部分。
    • C、只能代替文件夹中的一个字符
    • D、代替文件或文件夹中的一个乃至多个字符

    正确答案:C

  • 第24题:

    判断题
    在同一个文件夹下,文件“a.txt”和文件“A.txt”可以同时存在。
    A

    B


    正确答案:
    解析: 暂无解析