给定程序中,函数fun的功能是:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小写与形参c一致,数量由形参d指定。若输出字母中有字母Z或z,则应从A或a开始接续,直到输出指定数量的字母。例如:c为’Y’,d为4,则程序输出ZABC;

admin2022-04-02  28

问题 给定程序中,函数fun的功能是:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小写与形参c一致,数量由形参d指定。若输出字母中有字母Z或z,则应从A或a开始接续,直到输出指定数量的字母。例如:c为’Y’,d为4,则程序输出ZABC;c为’z’,d为2,则程序输出ab。
 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
 注意:源程序存放在文件BLANK1.C中,不得增行或删行,也不得更改程序的结构!
 include<stdio.h>
 #pragma warning(disable:4996)
 void fun(char c,int d){
   int i;
   char A[26],a[26],*ptr;
 /**********found**********/
   for(i=0;i<【1】;i++){
     A=’A’+i;
     a=’a’+i;
   }
 /**********found**********/
   if((c>=’a’)&&(c【2】’z’))ptra;
   else ptr=A;
 /**********found**********/
   for(i=1;i<=d;i++)
   printf("%c",ptr[c-ptr[0]+i)%【3】]);
 }
 main(){
   char c;int d;
   printf("please input c&d:\n");
   scanf("%c%d”,&c,&d);
   fun(c,d);
 }

选项

答案(1)26  (2)<=  (3)26

解析 函数fun()中首先将大写字母按照字母表的顺序存放到数组A中,将小写字母按照字母表的顺序存放到数组a中;然后判断输入的字符c,若字符c是小写字母,则将指针ptr指向数组a,若是大写字母,将指针ptr指向数组A;然后使用变量i遍历1到d,输出ptr所指数组中,偏移量为c-ptr[0]+i的元素,若偏移量c-ptr[0]+i>=26,则对26求余,循环输出数组开始部分的元素。注意:题意要求输出当前字符的后继字符,所以c-ptr[0]+i是将当前字符c减去ptr所指元素,然后与i相加,得到后继第i个字符的下标。
转载请注明原文地址:https://kaotiyun.com/show/lhkp777K
0

最新回复(0)