5、输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
用C语言编写
输出格式:在一行中输出逆序后的字符串。
举例:
#include<stdio.h>
int main()
{
int i, j, cnt;
char ch, a[80], b[80];
ch=getchar();
for(i=0; ch!='\n'; i++){
a[i]=ch;
cnt++;
ch=getchar();
}
for(i=0, j=cnt-1; i<cnt; i++, j--)
b[j]=a[i];
for(i=0; i<cnt; i++)
printf("%c", b[i]);
return 0;
}
运行:输出格式:
在一行中输出逆序后的字符串。
输入样例:
Hello World!
输出样例:
!dlroW olleH
return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。
如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
如果函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。
不懂可以追问。
能写点简单的吧?我看不懂呀
追答#include "string.h"用来预处理string.h头文件,因为我需要函数strlen()来确定我输入的字符串的长度,这样用for倒序输出的时候才能知道从第几位开始倒序输出。
用来把输入的字符串存放到数组a中,和gets(a)是一样的,只不过如果你不小心输入的位数超过了80位,gets()可能会擦鞋掉原内存中的数据导致程序崩溃,fgets()能保证不管你输入多少个字符,我只要前80个。
第一条解释过了,这个函数用来求a的长度(但会比实际长度多1)所以后来又定义i = n - 1.
这样解释可以吗?
这样写非常简单呀,一次输入一次输出,如果写三次for循环不是更麻烦嘛
本回答被提问者采纳