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

admin2015-08-23  63

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

选项

答案(1)s s[i] (2)n+j (3)1

解析 函数fun的功能是求出形参ss所指字符串数组中最长字符串的长度。
第一空:第一个循环求最长字符串的长度len,在第二个循环内在其他字符串的后面补“*”,使其达到长度len。在“for((j=0;j的长度,因此第一空应为“ss”。
第二空:循环“for((j=0;j第三空:字符串以“\0”结束,因此需在字符串后加结束符,故第三空应为“1”。
转载请注明原文地址:https://jikaoti.com/ti/Lxi0FFFM
0

最新回复(0)