RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
c语言函数倒叙输出 c语言输入

C语言将字符串逆序输出问题(用函数)

采用函数进行字符串逆序输出,过程为:

成都创新互联专注于德钦企业网站建设,自适应网站建设,成都做商城网站。德钦网站建设公司,为德钦等地区提供建站服务。全流程按需设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

定义函数,参数为字符串指针

定义局部变量指针t指向原字符串

移动t指针到字符串尾

向移动t指针,直到回到原指针头,输出各位置字符。

参考代码:

C语言,用调用函数逆序输出10个数

代码里有一些问题,看注释。

#includestdio.h

int nixu (int n,int a[]);

void main()

{

int a[10],i;

printf("please input 10 numbers\n");

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

scanf("%d",a[i]);    /*数组10个元素,最大下标只能到9,a[10]越界;另外a[i]才是需要输入的元素,而不是恒定某一个元素*/

nixu (10, a);

for(i=0; i10; i++)    /*输出数组同样也要循环*/

printf("%d  ",a[i]);    /*数组10个元素,最大下标只能到9,a[10]越界*/

}

int nixu (int n, int a[])    /*函数定义参数不能和局部变量重名*/

{

int i,k=(n-1)/2,t;    /*运算符/比-优先级高,要加括号*/

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

{    /*逆序过程只要一重循环就可以了*/

t=a[i];

a[i]=a[n-i-1];    /*尾部对应的数组下标要找对*/

a[n-i-1]=t;

}

return 0;    /*返回随便一个值就可以,调用的地方不需要函数返回值,不能返回数组首地址*/

}

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

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

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

int main()

{

int n,m,a,b,c;

scanf("%d",n);

a=n/100;

b=(n/10)%10;

c=n%10;

m=c*100+b*10+a;

printf("输出:%d",m);

}

扩展资料:

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

C语言labs()函数:求整数的绝对值(针对long类型)

C语言isgraph()函数:判断一个字符是否是图形字符

参考资料来源:百度百科-c语言

参考资料来源:百度百科-C语言函数


本文题目:c语言函数倒叙输出 c语言输入
URL网址:http://lswzjz.com/article/hgsijs.html