给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长

admin2013-04-02  38

问题 给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANKl.C中。
    不得增行或删行,也不得更改程序的结构!
#include
#include
#define M 5
#define N 20
void fun(char (*ss)[N])
{int i, j, n, len=0;
   for(i=0; i   {n=strlen(ss);
      if(i==0) len=n;
      if(len   }
   for(i=0; i/**********found**********/
      n=strlen(【1】);
      for(j=0; j/**********found**********/
        ss[【2】]=’*’;
/**********found**********/
      ss[n+j+【3】]=’\0’;
  }
}
main()
{char ss[M][N]={"shanghai","guangzhou","beijing", "tianjing","cchongqing"};
    int i;
    printf("The original strings are :\n");
    for(i=0; i);
    printf("\n");
    fun(ss);
    printf("The result is :\n");
    for(i=0; i);
}

选项

答案ss[i] n+j 1

解析 第一空:第一个循环求最长字符串的长度len,在第二个循环内在其他字符串的后面补“*”,使其达到长度len。在“for(j=0; j的长度,因此第一空应为“ss”。
第二空:循环“for(j=0; j第三空:字符串以“\0”结束,因此需在字符串后加结束符,故第三空应为“1”。
转载请注明原文地址:https://kaotiyun.com/show/YDJp777K
0

最新回复(0)