题目描述
写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)。
输入格式
一行字符
输出格式
逆序后的字符串
样例输入
123456abcdef
样例输出
fedcba654321
题目解析
1.定义字符数组,存放字符
char ch[200] = { 0 };
2.使用scanf从键盘上获取字符
scanf("%s", ch);
3.自定义函数,并在函数中定义字符数组,以实现互换功能
void reverse(char ch[])
{
char str[200];
}
4.使用strlen函数统计字符串长度(注:需要引用string.h头文件)
#include <string.h>
int j = strlen(ch) - 1;
5.使用循环实现倒序存放到函数内定义的字符数组
int j = strlen(ch) - 1;
for (int i = 0; i < strlen(ch); i++)
{
str[j] = ch[i];
j--;
}
6.将倒序的数组重新赋值给原字符数组
for (int i = 0; i < strlen(ch); i++)
{
ch[i] = str[i];
}
7.调用函数
reverse(ch);
8.printf输出
printf("%s",ch);
源代码
#include <stdio.h>
#include <string.h>
void reverse(char ch[])
{
char str[200];
int j = strlen(ch) - 1;
for (int i = 0; i < strlen(ch); i++)
{
str[j] = ch[i];
j--;
}
for (int i = 0; i < strlen(ch); i++)
{
ch[i] = str[i];
}
}
int main(void)
{
char ch[200] = { 0 };
scanf("%s", ch);
reverse(ch);
printf("%s",ch);
return 0;
}