函数设计 第 2 题,题目描述 程序文件名:CFD2.c 一、要求说明: 1. 请点击出题按钮,下载并打开试题文件 ;按试题要求进行操作,选择合适的编译器进行调试运行。 2. 试题文件中包含如下函数设计部分的标志: /*考生在以下空白处定义函数*/ /*考生在以上空白处定义函数*/ 3. 在设计时,不得删除设计部分标志;不得修改设计部分标志以外的程序内容。 4. 完成相关操作后,保存并关闭试题文件;再按本页界面的上传向导选择试题文件,点击【上传到服务器评分】。 二、程序功能: 输入一个字符串,将字符串逆序输出。 【输入格式】在一行中输入不超过80个字符长度的、以回车结束的非空字符串。 【输出格式】在一行中输出逆序后的字符串。 【输入样例】Hello World 【输出样例】dlroW olleH 【函数定义要求】 请在该程序文件中,实现函数void frev(char str[]),将字符数组str中的元素头尾交换,逆序存放。
时间: 2024-03-08 16:49:38 浏览: 55
从键盘输入一个非空字符串,右截取 n 个字符并输出结果 此题应考虑使用返回 指针值的函数的方法来完成程序设计
以下是CFD2.c的程序代码:
```c
#include <stdio.h>
#include <string.h>
void frev(char str[])
{
int len = strlen(str);
int i, j;
char temp;
for(i = 0, j = len - 1; i < j; i++, j--)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main()
{
char str[81];
fgets(str, 81, stdin);
str[strlen(str) - 1] = '\0';
frev(str);
printf("%s\n", str);
return 0;
}
```
在程序中,我定义了一个frev函数,用于将字符数组str中的元素头尾交换,逆序存放。在主函数中,我首先使用fgets函数读入一个字符串,并将最后的回车符替换为'\0'。然后,调用frev函数将字符串逆序存放。最后,输出逆序后的字符串。
阅读全文