您的位置:首页 > 其它

【C】字符串逆序

2016-03-23 21:29 225 查看
将一个字符串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

/article/5075796.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: