【C】字符串逆序

将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。

输入参数:
inputString:输入的字符串

返回值:
输出转换好的逆序字符串

输入样例:
I am a student

输出样例:

tneduts a ma I

解决方案1:

#include<stdio.h>
int main()
{
    char inputString[101];
    char c;
    int i=0;
    while((c=getchar())!='\n')
    {
        inputString[i]=c;
        i++
    }
    inputSting[i]='\0';
    for(int j=i-1;j>=0;j--)
        printf("%c",inputString[j]);
    return 0;
}

这种方法可以实现字符串的逆序,但是在华为OJ上却通不过,原因是,c定义为char类型,但是getchar()函数的原型是int getchar(void)返回值是int,因此可能会造成数据丢失。

解决方案2

#include<stdio.h>
#include<string.h>
int main()
{
    char inputString[101];
    gets(inputString);
    for(int j=strlen(inputString)-1;j>=0;j--)
        printf("%c",inputString[j]);    
    return 0;
}

这种方法用gets() 函数读取一行,放入inputString中,然后逆序打印,通过了华为OJ。

运行结果:

另外,关于字符串的几种输入方法,参见:
http://blog.sina.com.cn/s/blog_512ff9030100926w.html

http://www.cnblogs.com/tanky_woo/archive/2010/08/31/1813455.html

全部评论

相关推荐

07-15 16:52
已编辑
门头沟学院 Java
周五投的,流程今天结束
投递地平线等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-18 18:30
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
07-16 17:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务