填空题 1.  数组s全由字母字符组成,请补充fun()函数,该函数的功能是:把s中的字母转换成紧接着的下一个字母,如果原来的字母为“a”或“A”,则相应地转换成“b”或“B”,结果仍保存在原数组中。
    例如,输入“aAZut”,则输出“bBAvu”。
    注意:部分源程序如下。
    请勿改动main()函数与其他函数中的任何内容,仅在fun()函数的横线上填写所编写的若干表达式或语句。
    试题程序:
    #include<stdio.h>
    #define N 100
    void fun(char P[])
    {
    int j;
    for(j=0;______;j++)
    if(p[j]=='z'|| p[j]=='Z')
    p[j]-=______;
    else
    P[j]+=______;
    }
    void main()
    {
    char s[N];
    printf("Please Input a string:\n");
    gets(s);
    printf("The original string:\n");
    puts(s);
    printf("The new string:\n");
    puts(s);
    }
  • 1、
【正确答案】 1、p[j]!='\0'
   25
   1    
【答案解析】 本题函数的功能是把s中的字母转换成紧接着的下一个字母,当是最后一个字符时,下一个字符是起始的第一个字符,所以ASCII码差25,其他仅相差1。
   所以第一个空:当不是尾符时就进行转换,应填:“p[j]!='\0'”。
   第二个空:这里是字符为Z或z的情况,也就是最后一个字符,所以ASCII码值相差25。
   第三个空:在不是末字符的情况下,其他ASCII码值相差1。