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

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:10:20
#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>
#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
*/

代码如下:

#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