当前位置: 代码迷 >> C语言 >> [求助]字符串的逆序与拼接
  详细解决方案

[求助]字符串的逆序与拼接

热度:244   发布时间:2006-06-03 22:33:00.0
[求助]字符串的逆序与拼接

1.对键盘输入的字符串逆序,逆序后的字符串仍保留在原数组中并输出.(不得调用字符串处理函数)
2.对键盘输入的两个字符串连接(不得调用字符串处理函数)

搜索更多相关的解决方案: 逆序  字符  拼接  键盘  函数  

----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define N 100
void main()
{
char c[N];int t, i;
for (i=0;i<N/2;i++)
scanf("%s",c);
{
t=c[i];
c[i]=c[N-i-1];
c[N-i-1]=t;
}
printf("\n sorted array:\n");
for(i=0;i<N;i++)
  printf("%s",c);

}
我的哪里错了?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
char s1[80], s2[80];
int i, j;
gets(s1);
gets(s2);
i=j=0;
while (s1[i]) i++;
while (s2[j])
{
s1[i]=s2[j];
i++; j++;
}
puts(s1);
}
我的哪里错了?
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-03 14:42:00
SunShining

等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
  得分:0 

#include "stdio.h"
#include "string.h"

int main()
{
char str[50];

gets(str);
puts(strrev(str));
return 0;
}


----------------解决方案--------------------------------------------------------

#include "stdio.h"
#include "string.h"

int main()
{
char str1[50],str2[20];

gets(str1);
gets(str2);
sprintf(str1+strlen(str1),"%s",str2);
puts(str1);
return 0;
}

NO.2


----------------解决方案--------------------------------------------------------

在原来程序的基础上改的
//逆序
#include "stdio.h"
#include "string.h"
#define N 100

void main()
{
char c[N],t;
int l,i;
scanf("%s",c);
l=strlen(c);
for (i=0;i<l/2;i++)
{
t=c[i];
c[i]=c[l-i-1];
c[l-i-1]=t;
}
printf("sorted array:\n");
for(i=0;i<l;i++)
printf("%c",c[i]);
printf("\n");
}

//连接
#include "stdio.h"
#include "string.h"
#define N 100
void main()
{
char s1[N]={0}, s2[N]={0};
int i, j;
gets(s1);
gets(s2);
i=j=0;
while (s1[i]) i++;
while (s2[j])
{
s1[i]=s2[j];
i++;
j++;
}
puts(s1);
}


----------------解决方案--------------------------------------------------------
问版主
sprintf(str1+strlen(str1),"%s",str2);
一句改为
sprintf(str1+strlen(str1),str2);
也可以运行
那么加“%s”有什么用意呢?
----------------解决方案--------------------------------------------------------
看函数说明!
----------------解决方案--------------------------------------------------------
while (s1[i]) i++;
这句后面的i++有什么用?偶是个 菜鸟,有什么不对请见谅
----------------解决方案--------------------------------------------------------
  相关解决方案