有字符数组 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 13:19:38 浏览: 154
void head(char *arr, char c) {
// 先将数组中的元素向后移动一位
for (int i = strlen(arr); i >= 0; i--) {
arr[i + 1] = arr[i];
}
// 将字符 c 插入数组的首元素位置
arr[0] = c;
}
void end(char *arr) {
// 找出字符串中最大的字母
char max = 'A';
for (int i = 0; i < strlen(arr); i++) {
if (arr[i] > max && isalpha(arr[i])) {
max = arr[i];
}
}
// 在字符串末尾插入最大的字母
arr[strlen(arr) + 1] = '\0';
arr[strlen(arr)] = max;
}
int main() {
char arr[20] = "I love China";
char c;
int choice;
printf("Please enter a character: ");
scanf("%c", &c);
printf("Please choose an option (1 for head, 2 for end): ");
scanf("%d", &choice);
if (choice == 1) {
head(arr, c);
} else if (choice == 2) {
end(arr);
}
printf("The modified string is: %s\n", arr);
return 0;
}
阅读全文