十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
成都网站制作、做网站、外贸营销网站建设,成都做网站公司-创新互联公司已向成百上千企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
#include string.h
void input(char st[]);//定义输入函数
void reverse(char st[]);//定义反序函数
int main()
{
char s[20];
input(s);//调用输入函数
printf("Original string: %s\n", s);//输出原字符串
reverse(s);//调用反序函数
printf("New string: %s\n", s);//输出反序后的字符串
return 0;
}
void input(char st[])
{
printf("Please enter string: ");
gets(st);
}
//反序函数
void reverse(char st[])
{
int n=strlen(st);
for (int i=0, j=n-1, t; i(n/2); t=st[i], st[i]=st[j], st[j]=t, i++, j--);
}
扩展资料:
gets()用法:
1、gets() 函数是从键盘输入字符串,该函数只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。打开编辑器,新建一个c语言文件,引入标准库并新建主函数:
2、gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间,这里的程序是用gets函数输入字符串,可以看到不像scanf那样需要使用%号,gets函数中直接传入字符串即可:
3、最后运行下程序,输入“i love you”,可以看到gets函数可以直接输出空格,而scanf函数输出空格则需要使用转义字符实现,因此gets函数的使用要比scanf简洁的多。以上就是gets函数使用方法的演示:
最简单的反序输出,就是把数组反序输出。只需要从最大下标开始,向0下标循环输出就可以了。
比如将字符串(字符数组)反序输出的代码如下:
void reverse_output_str(char *str)
{
int len = strlen(str) -1;//得到最大下标
while(len = 0)printf("%c", str[len--]); //反序输出直到str[0]
}其它类的反序输出,也都可以归结为类似的情况。先把要输出的正序输出到一个数组,然后把这个数组反序输出。
比如把一个10进制数反序输出,即输入1234,输出4321,就可以采用类似的方式:
void reverse_int_output(int a)
{
char buf[20];
sprintf(buf, "%d", a);//将a转为字符串
reverse_output_str(buf);//调用刚才的函数反序输出。
}
反序方法见 下面 函数 void op(char *s). 主函数是调用的例子。
#include stdio.h
void op(char *s){
int i,k;
char c;
k = strlen(s);
for (i=0;ik/2;i++){c=s[i];s[i]=s[k-i-1];s[k-i-1]=c;};
};
int main()
{
char s[200];
printf("input one line string:\n");
gets(s);
op(s);
printf("%s\n",s);
return 0;
}
输入:abc123
输出:321cba
编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符。
可以设置一个中间值,让两端的字符相交换,然后前头的向后移动一位,后头的向前移动一位。当前头的变量大于中间值时。程序停止执行。根据此原理编写代码如下:
#includelt;stdio.hgt;
#define N 100
void inverse(char[]);
int main(int argc,int*argv[])
{
int i=0;
char c,a[N];
printf("input a string:");
gets(a);
puts(a);
inverse(a);//进行字符翻转
puts(a);
system("pause");
return 0;
}
void inverse(char str[])
{
int i;
char c;
int begin=0,end=strlen(str)-1,mid=end/2;
do
{
c=str;
str[end--]=str[begin];
str[begin++]=c;
}while(beginlt;mid);
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#includelt;文件名gt;
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#includelt;math.hgt;//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
采用函数进行字符串逆序输出,过程为:
定义函数,参数为字符串指针
定义局部变量指针t指向原字符串
移动t指针到字符串尾
向移动t指针,直到回到原指针头,输出各位置字符。
参考代码: