当前位置:首页 » 编程语言 » c语言字符串倒序输出

c语言字符串倒序输出

发布时间: 2022-05-15 04:21:26

c语言怎么把字符串倒序

反序方法见 下面 函数 void op(char *s). 主函数是调用的例子。
#include <stdio.h>
void op(char *s){
int i,k;
char c;
k = strlen(s);
for (i=0;i<k/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

② 用c语言倒序输出字符串

思路:
用一个足够长的字符数组来接受用户的输入,然后从最后数组最后一个位置开始输出字符。
代码如下:
#include<stdio.h>
#include<string.h>
#defineBUFFER1024/*定义常量BUFFER,值为1024,作数组长度*/
intmain(void)
{
inti;
chara[buffer];
gets(a);/*将用户的输入存进字符数组*/
for(i=strlen(a)-1;i>=0;i--)/*从数组的最后位置开始输出字符*/
printf("%c",a[i]);/*以字符的格式依次显示每个字符*/
printf(" ");
return0;
}
程序运行截图如下:

③ c语言程序 输入一字符串存入数组中,逆序存放并输出

对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来的字符数组中,最后输出。(不得调用任何字符串处理函数),例如:

输入

hello

world

输出

dlrow

olleh

(3)c语言字符串倒序输出扩展阅读:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。

④ C语言递归法把字符倒序输出

#include <stdio.h>

#include <string.h>

#define N 1//这里的1可以改,改成10同时可以玩10个串串


void printfmm(char *s,int len){

if(len==0){printf("%c ",s[len-1]);return;}

else {printf("%c",s[len-1]);printfmm(s,len-1);}

}


void main() {

char str[N][30],t;

int i,s[52]={0},j;

printf("上串串:");

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

gets(str[i]);

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

printfmm(str[i],strlen(str[i]));


}

⑤ 用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语言逆序输出

是的,getchar()函数是这样使用的(括号中不带参数)。
看起来这一段代码是用来复制字符串的。
int a[6];应当改为:
char a[100];
前面的两段for循环应当改为:
for(i=0;i<=a[0];i++)
a[i+1]=n[i];
其余的(包括第三个for循环)不变,就可以了。

⑦ 如何用C语言将字符串逆序输出

C语言程序如下:

#include<stdio.h>

#include<string.h>

main()

{

int i,j,t,n;

char a[10];

printf("请输入字符串:");

gets(a);

n=strlen(a);

for(i=0;i<=n/2;i++)

{

t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

}

for(j=0;j<n;j++)

printf("%c",a[j]);

printf(" ");

}

(7)c语言字符串倒序输出扩展阅读:

字符串倒序输出的五种方法

1、使用数组循环

2、StringBuffer的reverse方法

3、StringBuffer的循环

4、栈的后进先出

5、迭代完成

⑧ C语言:输入一个字符串,然后逆序输出

可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。

字符串实际长度可以用strlen函数来计算。

方法程序如下:

#include<stdio.h>

#include<string.h>

main()

{char a[10];int i,j;

scanf("%s",a);

j=strlen(a);

for(i=j-1;i>=0;i--)

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

printf(" ");}

(8)c语言字符串倒序输出扩展阅读:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

⑨ c语言关于 字符串倒序并输出

for
(i
=
0;
i
<
len
;
i++)
{
a1[i]
=
a[len
-
i
-
1];
//
这样写整个转了一圈,而且数据被破坏了,你没有先保存原a[i]的值,丢了!
}
for
(i
=
0;
i
<
len
/
2;
i++)
这是正确写法,前半部分与后半部分交换!!
{
temp
=
a[i];
//保存
a[i]
=
a[len
-
i
-
1];
后面的移前面
a[len
-
i
-
1]
=
temp;
//将前面的保存的数据,移到后面
}

⑩ c语言中请问用指针怎么倒序输出字母汉字混合字符串

仅仅是字母的倒序输出很容易。如abcde直接倒序edcba.
如果包含汉字就有点麻烦。
如果你用的VC
6.0.字符串是ASCII码(不是unicode,也称为多字节)。汉字占两个字节,对这2个字节不能颠倒。
否则是乱码。当然,也有一些解决方案。因为字母都为正数,而汉字的字节是负数。由此
可以判断什么时候可以倒序。
如果是vs
2008或类似平台字符串是且字符串是宽字节(unicode)。问题也好处理。如果是多字节,
按上述方法处理。

热点内容
脚本举例 发布:2024-05-07 09:04:41 浏览:818
php经历 发布:2024-05-07 08:59:25 浏览:419
knd系统编程 发布:2024-05-07 08:55:38 浏览:218
大话2无限自动脚本 发布:2024-05-07 08:42:06 浏览:78
朋友圈视频压缩 发布:2024-05-07 08:33:01 浏览:871
MAC账户登录如何进入忘记密码 发布:2024-05-07 08:14:52 浏览:671
相机存储卡要求格式化 发布:2024-05-07 08:08:44 浏览:16
十一代思域哪个配置划算 发布:2024-05-07 07:59:12 浏览:352
鸿蒙系统和安卓系统哪个大 发布:2024-05-07 07:46:37 浏览:623
安卓平台用什么虚拟机 发布:2024-05-07 07:44:14 浏览:247