用C语言写一个函数,使输入的字符串按反序存放,在主函数中输入和输出字符串。

如题所述

#include <stdio.h> 

#include <string.h>

int main()

{void inverse(char str[]);

char str[100];

printf("input string:");

scanf("%s",str);

inverse(str);

printf("inverse string:%s\n",str);

return 0;

}

void inverse(char str[])

{char t;

int i,j;

for (i=0,j=strlen(str);i<(strlen(str)/2);i++,j--)

{t=str[i];

str[i]=str[j-1];

str[j-1]=t;

}

}

文件1:

#include <stdio.h>

#define N 6

//static char str[N]; 这个没必要

int f (char);        //声明flashback函数. // 声明放外面,好的习惯

int main()

{

char str[N] = "abcde";

printf("原字符串:\n");

puts (str);

f (str[N]);            //调用flashback函数.

printf("倒序后的字符串:\n");

puts (str);

printf("\n");

}

文件2:

//#define N 6

//extern char str[N]; //也没必要

int f (char str2[N]) //你这个N没什麽用

{

int i,t;

for (i=0;i<=N-1;i++)

{

t = str2[i];

str2[i] = str2[N-i];

t = str2[N-i];

}

return (str2[N]);

}

参考#3

char* reserve(char* src) 

{

int j = strlen(src)-1;

for ( int i=0 ;i<j;++i,--j )

{

char temp = src[j];

src[j] = src[i];

src[i] = temp;

}

return src;

}

在主函数中输入10个等长的字符串。用另一个函数对它们排序,然后主函数输出10个已经排好的字符串


温馨提示:答案为网友推荐,仅供参考
相似回答