#include
int main()
{
int i,j,k,n,h;
char s1[1024],s2[1024];
scanf("%d",&n);
for(i=1;i<=n;i++)//循环输入两次
{
for(j=0,k=7;j<=7&&k>=0;j++,k--)
{
scanf("%c",&s1[j]);
s2[k]=s1[j];//换位
}
for(h=0;h<=7;h++)
{
printf("%c",s2[h]);//输出
}
}
我想任意输入长度的字符然后反转,但是这样编程循环中进行了限制,必须输入7个字符才可以,希望大神教教如何输入任意长度都可以反转
#include
#include
int main()
{
int i,j,k,n,h;
char s1[1024],s2[1024];
scanf("%s",s1 );
for(i=strlen(s1)-1,j=0;i>=0;i--,j++){
s2[j]=s1[i];
}
s2[j]=0x00;
printf("%s\n",s2);
}
%s读入一个字符串,然后strlen计算一下字符串长度不就行了吗。。。头文件是
void reverse(char *str,char *end)//传入字符串对应的地址。
{
while(str<=end)
{
char temp = *str;
*str = *end;
*end = temp;
str++;
end--;
}
}
输入到s1中,用strlen求出长度,让后传入起始地址和尾地址!就反转了!
考虑可以用栈实现反转
动态数组 char* str=new char【n】