函数设计 第 2 题,题目描述 程序文件名:CFD2.c 一、要求说明: 1. 请点击出题按钮,下载并打开试题文件 ;按试题要求进行操作,选择合适的编译器进行调试运行。 2. 试题文件中包含如下函数设计部分的标志: /*考生在以下空白处定义函数*/ /*考生在以上空白处定义函数*/ 3. 在设计时,不得删除设计部分标志;不得修改设计部分标志以外的程序内容。 4. 完成相关操作后,保存并关闭试题文件;再按本页界面的上传向导选择试题文件,点击【上传到服务器评分】。 二、程序功能: 输入一个字符串,将字符串逆序输出。 【输入格式】在一行中输入不超过80个字符长度的、以回车结束的非空字符串。 【输出格式】在一行中输出逆序后的字符串。 【输入样例】Hello World 【输出样例】dlroW olleH 【函数定义要求】 请在该程序文件中,实现函数void frev(char str[]),将字符数组str中的元素头尾交换,逆序存放。
时间: 2024-03-08 10:49:06 浏览: 51
以下是函数 `frev` 的设计:
```
void frev(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
```
该函数的作用是将字符数组 `str` 中的元素头尾交换,逆序存放。具体实现是通过遍历数组的前一半,将前一半的元素和后一半的元素交换位置来实现逆序存放。需要注意的是,因为最后一个元素的下标是 `len - 1`,所以在交换元素时需要使用 `len - i - 1` 来表示后一半的元素下标。
阅读全文