U128803.阅读程序
通过率:0%
题目描述
#include <ctype.h>
#include <stdio.h>
void expand(char s1[], char s2[])
{
int i, j, a, b, c;
j = 0;
for (i = 0; (c = s1[i]) != '\0'; i++)
if(c == '-')
{
a = s1[i - 1]; b = s1[i + 1];
if (isalpha(a) && isalpha(b) || isdigit(a) && isdigit(b))
{
j--;
do
s2[j++] = a++;
while (tolower(a) < tolower(s1[i + 1]));
}
else s2[j++] = c;
} else s2[j++] = c;
s2[j] = '\0';
}
int main()
{
char s1[100], s2[300];
gets(s1);
expand(s1, s2);
printf("%s\n", s2);
}
规定:输入的字符串只包含大小写字母,数字和“-”,且保证“-”不会出现在首位和末位。
(1)
1.若输入的字符串不包含“-”号,则输出的字符串和输入相同。()(2分)
正确
错误
(2)
若输入的字符串包含“-”号,输出的字符串长度可能与输入的相同。()(2分)
正确
错误
(3)
若存在一个字符,只存在于s2字符串中而不存在于s1字符串中,则s1字符串中一 定存在“-”号。( )(2分)
正确
错误
(4)
若存在一个字符,只存在于s2字符串中而不存在于s1字符串中,则该字符一定不可能是大写字母。( )(2分)
正确
错误
(5)
若输入6个字符,最多输出( )个字符。(3分)
6
20
52
54
(6)
若输出500个字符,至少输入()个字符。(3分)
20
59
60
500
提交答案之后,这里将显示提交结果~