网站建设资讯

NEWS

网站建设资讯

c语言如何用函数倒序输出 怎么将字符串倒序输出c语言

用C语言写 字符串逆序输出

逆序输出有很多种,具体的实现方法取决于你题目的要求

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、云安网络推广、小程序定制开发、云安网络营销、云安企业策划、云安品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供云安建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

1. 如果只是要求逆序输出,那么可以采用类似的方法:

void reverse(char *s)

{

if(*s=='\0')

return;

reverse(s+1);

printf("%c",*s);

}

这种方法在s很长的情况下会一直递归到底,不是很好。

2. 如果需要将字符串整个逆序在函数外面输出,那么可能希望采用返回字符串指针的方式;实现如下:

char * reverse( char* s )

{

static char *p = s+strlen(s)-1; //p是一个静态变量,指向当前递归层处理的字符串尾,而s指向字符串头

if(s p)

{

char c = *p; //交换头尾字符

  *p = *s;

 *s = c;

p--; //尾向前挪一个

reverse(s+1); //相当于头向后挪一个

}

return s;

}

3.1 当然,有的时候,并不需要reverse函数本身递归,而是可以借助一些辅助的递归函数,比如说:

void reversehelp(char * head, char * end)

{

if (head end)

{

char c = *head;

*head = *end;

*end = c;

reversehelp(++head, --end);

}

}

然后在调用时像这样调用:

char * reverse(char * s)

{

char * end = s + strlen(s) - 1;

reversehelp(s, end);

return s;

}

3.2 类似的辅助函数还可以采用一个字符串指针和一个长度参数的方式,如下例:

void reversehelp( char* s, int n )

{

if ( n 1 )

{

char c = s[n-1];

s[n-1] = s[0];

s[0] = c;

reversehelp( s+1, n-2 );

}

}

然后在调用时如下:

char *reverse(char *s)

{

reversehelp( s, strlen(s) );

return s;

}

怎么用C语言输入一个数,让它倒序输出成一个数,

可以将输入的多位数顺序存放到一个数组中,之后逆序输出即可。

具体的实现方法可以参考如下程序:

#includestdio.h

#includestring.h

void main()

{

char num[20];

int i;

printf("输入一个多位数:")

scanf("%s", num);  // 将多位数作为一个字符串的形式一次性输入,保存在num数组中

// 将数组num中的字符逆序输出,即实现多位数的倒序输出  

for(i=strlen(num)-1; i=0; i--)

printf("%c", num[i]);

}

c语言中如何实现输入一个整数实现倒序输出

定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结.

1.

反序(倒序)输出

反序输出常用的思路就是按位取余,把取出来的值进行循环保存。

int

main()

{

int

i=12345;

//定义一个12345的整数

int

temp=0;//temp作为存储的值

while(i!=0){

temp

=

temp*10

+

i%10;

i/=10;

}

//反序取出来

printf("%d",temp);

//打印

return

0;

}

如图所示:

2,

正序输出

正序输出会用在整形变量正序输出转换成对应的字符数组,或者倒过来.常用思路就是定义一个函数,在函数内递归取余调用自身,实现功能。

输入

:

12345

输出

:"12345"

如下:

char

str(int

x)

{

char

a[100];//存放整数转换过来的字符

int

i;

//计数

if(x/10!=0)

str(x/10);

if(x=0)

a[i]='0'+x%10;

//整数转换成字符存储,字符都是以整数形式存储

else

a[i]='0'+(-x)%10;//整形包括负数

printf("%c",a[i++]);

}

int

main()

{

int

i;

printf("请输入一个整数:\n");

scanf("%d",i);

str(i);

return

0;

}

如图所示:

C语言文件逆序输出

调用下面的函数将字符串逆序,然后输出到文件即可。

char* str_reverse(char* str)

{    

int n = strlen(str) / 2;

int i = 0;

char tmp = 0;

for(i = 0; i  n; i++)

{

tmp  = str[i];

str[i] = str[strlen(str)-i-1];

str[strlen(str)-i-1] = tmp;

}

return str;

}


当前题目:c语言如何用函数倒序输出 怎么将字符串倒序输出c语言
网址分享:http://cdweb.net/article/hpoidg.html