编写一程序实现将用户输入的一字符串一反向形式输出。如:输入abcdefg,输出:gfed
4个回答
展开全部
#include<stdio.h>
void reverse_string(char *string)
{
/* 算法的关键是当两个指针相遇或擦肩而过时就停止 */
char *p;
/* 把p设置为指向字符串的最后一个字符 */
for(p=string;*p!='\0';p++);
p--;
/* 交换p和string所指向的字符,然后string前进一步,p后退一步,在两个指针相遇或擦肩而过之前重复整个过程 */
while(string<p)
{
char temp;
temp=*string;
*string++=*p;
*p--=temp;
}
}
int main(void)
{
char *str="gasd";
reverse_string(str);
printf("after reversed:%s\n",str);
return 0;
}
void reverse_string(char *string)
{
/* 算法的关键是当两个指针相遇或擦肩而过时就停止 */
char *p;
/* 把p设置为指向字符串的最后一个字符 */
for(p=string;*p!='\0';p++);
p--;
/* 交换p和string所指向的字符,然后string前进一步,p后退一步,在两个指针相遇或擦肩而过之前重复整个过程 */
while(string<p)
{
char temp;
temp=*string;
*string++=*p;
*p--=temp;
}
}
int main(void)
{
char *str="gasd";
reverse_string(str);
printf("after reversed:%s\n",str);
return 0;
}
2011-05-15
展开全部
#include<iostream>
using namespace std;
void main()
{
char b[10],a[10];
for(int i=0;i<10;i++)
cin>>b[i];
for(i=0;i<10;i++)
cout<<b[i]<<"\t";
for(i=0;i<10;i++)
a[i]=b[10-i-1];
for(i=0;i<10;i++)
cout<<a[i]<<"\t";
}
using namespace std;
void main()
{
char b[10],a[10];
for(int i=0;i<10;i++)
cin>>b[i];
for(i=0;i<10;i++)
cout<<b[i]<<"\t";
for(i=0;i<10;i++)
a[i]=b[10-i-1];
for(i=0;i<10;i++)
cout<<a[i]<<"\t";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用数组作为变量正着将每个字母读入然后用循环反向输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for( i = 0; i < len; i++ )
{
outstring[i] = instring[len - i - 1 ];
}
注意 里面的-1 很重要。
{
outstring[i] = instring[len - i - 1 ];
}
注意 里面的-1 很重要。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询