华为机试 - 12 字符串反转

字符串反转

http://www.nowcoder.com/questionTerminal/e45e078701ab4e4cb49393ae30f1bb04

题目描述

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

输入描述:

输入N个字符

输出描述:

输出该字符串反转后的字符串

示例1
输入

abcd

输出

dcba

解题思路

1 如何反转?

  1. 主要是得找到2个指针分别指向头和尾,
  2. 然后进行交换
  3. 交换之后头指针后移,尾指针前移。

2 c语言实现

#include <stdio.h>
#include <string.h>

int main()
{
    char a[1000]={};
    int i = 0,j = 0;
    char temp;
    scanf("%s",a);
    int len = strlen(a);
    j = len-1; //j指向尾部
    while (i < j) {
        temp = a[i];
        a[i] = a[j];
        a[j] = temp;

        i++;
        j--;
    }
    for (i = 0; i< len; i++) {
        printf("%c",a[i]);
    }
    printf("\n");
    return 0;
}
全部评论
这用栈操作不是更方便吗
点赞 回复
分享
发布于 2020-04-08 23:29
用数组倒着输出不香吗
点赞 回复
分享
发布于 2021-06-10 14:55
联易融
校招火热招聘中
官网直投
怎么感觉小题大做
点赞 回复
分享
发布于 2021-08-16 14:55

相关推荐

7 7 评论
分享
牛客网
牛客企业服务