C语言,输入一个字符串,逆序排列后输出

#include <stdio.h>
void main()
{char ch,s1[100],s2[100];
int i,j,n;
gets(s1);
(缺少的语句)
for (i=0,j=n-1;i<n;i++,j--)
s2[j]=s1[i];
puts(s2);
}
请在(缺少的语句)部分补充谢谢!
我补充的是n=strlen(s1);但是执行的时候结果总是带一串这个fjdfhjkhgd 不知道为啥?

可以参考下面的代码:

#include "stdio.h"

main()

{

char strA[200];

char Temp;

int i=0,Length=0;

clrscr();

printf("请输入一个字符串:");

gets(strA);

Temp=strA[0];

while(Temp!='\0'){

Length++;

Temp=strA[i++];

}

Length--;

for(i=0;i<Length/2;i++){

Temp=strA[i];

strA[i]=strA[Length-i-1];

strA[Length-i-1]=Temp;

}

puts(strA);

getch();

}

扩展资料:

C语言参考函数:

atof(将字符串转换成浮点型数)

atoi(将字符串转换成整型数)

atol(将字符串转换成长整型数)

strtod(将字符串转换成浮点数)

strtol(将字符串转换成长整型数)

strtoul(将字符串转换成无符号长整型数)

toascii(将整型数转换成合法的ASCII 码字符)

注意事项:

字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

参考资料来源:百度百科-c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-19
代码copy如下:
#include <stdio.h>
#include <string.h>
void fun(char a[])//逆序函数
{
int i,length;char t;
length=strlen(a);//统计字符串的个数
for(i=0;i<length/2;i++)
{
t=a[i];
a[i]=a[length-1-i];
a[length-1-i]=t;
}
}
viod main()
{
char a[10];
printf("input a string:");
gets(a);
puts(a);
fun(a);
puts(a);
}
//调试成zd功
第2个回答  2015-10-29

代码如下:

#include <stdio.h>
#include <string.h>
void fun(char a[])//逆序函数
{
 int i,length;char t;
 length=strlen(a);//统计字符串的个数
 for(i=0;i<length/2;i++)
 {
  t=a[i];
  a[i]=a[length-1-i];
  a[length-1-i]=t;
 }
}
viod main()
{
 char a[10];
 printf("input a string:");
 gets(a);
 puts(a);
 fun(a);
 puts(a);
}
//调试成功

第3个回答  2008-09-03
#include <stdio.h>
void main()
{char ch,s1[100],s2[100];
int i,j,n;
gets(s1);
n=strlen(s1);
for (i=0,j=n-1;i<n;i++,j--)
s2[j]=s1[i];
s[i]='\0'; //在这里加一句,如果不加只是字符数组,不是字符串
puts(s2);
}
和你填的一样,只是后面多加一句
第4个回答  推荐于2017-09-02

定义两个字符串,一个接受输入的字符串,第二个逆序接受第一字符串,完成逆序排序。

参考代码:

#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100];
 int i,j,n;
 gets(a);//输入字符串 
 b[n=strlen(a)]='\0';//计算字符串长度,并确定字符b的结束位置 
 for(i=0,j=n-1;i<n;i++)//把a逆序赋值给b 
  b[j--]=a[i];
 puts(b);//输出s2 
 return 0;
}
/*
运行结果:
21324165
56142312
*/

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网