有字符数组 char arr[20]="I love China",在主函数中输入一个字符变量 c,如果选择 1 选项,则调用 head 函数,在数组的首元素位置插入此字符变量 c,其余元素向后移;如 果选择 2 选项,则调用 end 函数,原字符串末尾插入字符串中最大的字母,生成一个新 的字符串。下面给出 main 函数,要求定义并设计出以下两个函数的代码。 (1)void head(char *arr, char c)函数 (2)void end(char *arr)函
时间: 2023-02-06 15:40:24 浏览: 135
主函数代码:
```
int main()
{
char arr[20] = "I love China";
char c;
int option;
printf("Please input a character: ");
scanf("%c", &c);
printf("Please select an option: 1. head 2. end\n");
scanf("%d", &option);
if (option == 1) {
head(arr, c);
} else if (option == 2) {
end(arr);
}
printf("Result: %s\n", arr);
return 0;
}
```
定义 head 函数代码:
```
void head(char *arr, char c)
{
int i;
for (i = 19; i > 0; i--) {
arr[i] = arr[i - 1];
}
arr[0] = c;
}
```
定义 end 函数代码:
```
void end(char *arr)
{
char max = 'A';
int i;
for (i = 0; i < 20; i++) {
if (arr[i] > max && arr[i] <= 'Z') {
max = arr[i];
}
}
arr[19] = max;
}
```
注意:在上述代码中,我们假设字符数组 arr 的长度为 20,如果实际长度不是 20,需要修改代码中的相应位置。此外,我们还假设在字符数组 arr 中只包含大写字母,如果字符数组 arr 中含有其他字符,需要更改 end 函数中的代码。
阅读全文