C语言题目,跪求大神解答!!!

函数reverse的原型为:voidreverse(chars[]);,其功能是将字符串s中的字符位置颠倒。例如,字符串“abcdefg”中的字符位置颠倒后变为“gfed... 函数reverse的原型为:void reverse(char s[]);,其功能是将字符串s中的字符位置颠倒。例如,字符串“abcdefg”中的字符位置颠倒后变为“gfedcba”。编制函数reverse并用相应的主函数进行测试。 展开
 我来答
bhd119
2013-06-27 · TA获得超过246个赞
知道小有建树答主
回答量:297
采纳率:66%
帮助的人:101万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse(char s[]) //思路:第一个和最后一个交换。第二个和倒数第二个交换。交换次数是总字母个数的1/2取整。
{
char tmp;
int count = 0;
int i = 0;
int j = 0;

if(s == NULL)
{
printf("传入的参数错误!\n");
exit(-1);
}

while(s[count] != '\0')
{
count++; //统计字符串中字母个数
} //还可以通过这句话实现上面的while功能:count = strlen(s);

i = count/2; //计算交换的次数
count--;//方便后边第一个s[count]表示最后一个字母。

for(j=0; i>0; i--, j++, count--)
{
tmp = s[j];
s[j] = s[count];
s[count] = tmp;
}
}

int main()
{
char *p = "abcdefg";

reverse(p);
printf("%s\n", p);

return 0;
}

原创。哪不明白可以提问。。。。
庄政警
2013-06-27 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:873万
展开全部
#include<stdio.h>
#include <string.h>
void reverse(char s[])
{
 int len=strlen(s);
 int i;
 char t;
 for(i=0;i<len/2;i++)
 {
  t=s[i];
  s[i]=s[len-i-1];
  s[len-i-1]=t;
 }
}
int  main()
{
 char s[]="abcdefg";
 reverse(s);
 printf("%s\n",s);
 return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2013-06-27 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
#include <stdio.h>
void reverse(char s[]);
int main()
{
char a[]="abcdefg";
reverse(a);
puts(a);
return 0;
}
void reverse(char s[])
{
char t,*p=s;
while(*(p+1)&&*p)p++;
while(s<p)
{
t=*s;
*s=*p;
*p=t;
s++;
p--;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-27
展开全部
#include<stdio.h>
void reverse(char a[])
{ int i,j=0;char k;
while(a[j])j++;
j--;
for(i=0;i<=j;i++,j--)
{ k=a[i];
a[i]=a[j]
;a[j]=k;
}
}
main()
{ char a[20];
gets(a);
reverse(a);
puts(a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0904
2013-06-27 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:458万
展开全部
void reverse(char *r){
size_t size=strlen(r);
char tmp;

for(size_t i=0;i<size/2;i++){
tmp=r[i];
r[i]=r[size-i];
r[size-i]=temp;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式