古穿今之我是杀手:c语言排序问题?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 22:32:58
输入一串字符
用for,if语句编代码
倒着输出
不限制出入的字符多少
怎么编原代码啊?
谢谢!

来吧,这个应该可以完美的解决你的问题 ^_^
#include <stdio.h>

void invert(char s[], int n);

int main(int argc, char *argv[])
{
int len;
char buf[1024], *tmp=NULL;
memset(buf, 0, sizeof(buf));

while( 1 )
{
printf("%x : Please input string (^C to exit): ", &buf);

tmp = fgets(buf, sizeof(buf), stdin);

len = strlen(tmp);
if( len>1 )
{
tmp[len-1] = '\0';
invert(tmp, strlen(tmp));
fputs(tmp, stdout);
fputs("\n", stdout);
}
}

return 0;
}

void invert(char s[], int n)
{
char temp;
if(n>1)
{
invert(s+1, n-2);
temp = s[0];
s[0] = s[n-1];
s[n-1] = temp;
}
}

首先定义个允许输入最大字符串的字符数组
char string[max]

接收输入字符,计算输入字符长度length
for(int i=length-1; i>=0; i--)
{
...
}