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

作者&投稿:野宜 (若有异议请与网页底部的电邮联系)
C语言编程如何将字符串中的各字符逆序存放?~

#include
#include
int main(void)
{
char s1[256],s2[256];
int i,j=0;
gets(s1);
for(i=strlen(s1)-1;i>=0;i--)
{
s2[j++]=s1[i];
}
puts(s2);
return 0;
}
这样就把字符串s1倒序存放去s2了,输出了s2.

#include
int main()
{ int len,i;
char str[100];
gets(str);
len=strlen(str);
for(i=len-1;i>=0;i--)
printf("%c",str[i]);
return 0;
}

拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

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("
"); 

扩展资料:

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

1、使用数组循环

2、StringBuffer的reverse方法

3、StringBuffer的循环  

4、栈的后进先出

5、迭代完成



//下面是C语言代码
#include <stdio.h>

int main(void)
{
    char* ch;
    scanf("%s",ch);
    int i=0,j;
    //while用来取得字符串的长度
    while(*(ch+i)!='\0')
    {
        i++;
    }
    //for循环从后向前访问字符串,其实就是字符数组
    for(j=i-1;j>=0;j--)
    {
        printf("%c",*(ch+j));
    }

    printf("
");
    return 0;
}

原理:

C语言中对字符串进行操作,不仅仅对于字符数组,都可以用字符串的变量名来做该字符串的指针,其变量名指向第一个字符。因此,可以通过指针从后往前进行读取操作,从而实现逆序输出。



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void)
{
char a,ap[10];
int i;

printf("请输入:");
scanf("%s",ap);
i = strlen (ap);

for(;i>=0;i--)
{
ap[i];
printf("%c",ap[i]);
}
system("pause");
return 0;
}



#include <stdio.h>#include<stdlib.h>int main(void){    char* ch=(char*)malloc(100);    //不分配内存会出现段错误    scanf("%s",ch);    int i=0,j;       while(*(ch+i)!='\0')    {        i++;    }      for(j=i-1;j>=0;j--)    {        printf("%c",*(ch+j));    }     printf("
");    return 0;}

下面是C语言代码 #include <stdio.h> int main(void) { char* ch; scanf("%s",ch); int i=0,j; //while用来取得字符串的长度 while(*(ch+i)!='\0') { i++; } //for循环从后向前访问字符串,其实就是字符数组 for(j=i-1;j>=0;j--) { printf("%c",*(ch+j)); } printf("\n"); return 0; }原理: C语言中对字符串进行操作,不仅仅对于字符数组,都可以用字符串的变量名来做该字符串的指针,其变量名指向第一个字符。因此,可以通过指针从后往前进行读取操作,从而实现逆序输出。


c语言: 将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地...
include <string.h> define MAX_LENGTH 32 int main(){ char str[MAX_LENGTH] = {0};char *pStr = (char*)&str;\/\/1. 将字符串computer赋给一个字符数组 strcpy(str, "computer");\/\/2. 然后从第一个字母开始间隔地输出该串 while(*pStr != '\\0' ){ printf("%c\\n", *pStr);p...

c语言中如何将一字符串插入另一个字符串中?
int i,j,k,l;char c[100];len1=strlen(a);len2=strlen(b);for(i=0;i<t-1;i++)c[i]=a[i];for(j=0;j<len2;j++)c[i+j]=b[j];l=0;for(k=t-1;k<len1;k++){ c[i+j+l]=a[k];l++;} c[i+j+l]='\\0';puts(c);} 另外,站长团上有产品团购,便宜有保证 ...

c语言如何输入数字和单个字符串
1 scanf("%c", &c);这种方法和输入数字是类似的,%c仅读入一个字符,并赋值给c。2 c = getchar();getchar函数的功能就是读入一个字符,并以返回值形式返回。三、输入一串字符(以空白字符分隔)。可以用scanf的%s格式。char str[100];\/\/空间要定义足够大 scanf("%s", str);\/\/将字符串读...

将一个字符串插入到另一个字符串的指定位置的题目(用C语言解决)
1、参数2去掉与参数1相同的字符串。2、从指定位置截取字符串的指定长度。3、从字符串中找到指定字符串的位置后一位开始到结束的字符串。4、从指定的位置开始截取字符串到字符串结尾处。5、从字符串找到指定字符串开始截取字符串的结尾。6、从开始到指定字符串的文件的字符串截取。7、截取指定2个字符...

...个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细...
void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=’\\0’; i++); \/*求出的i为pA字符的总长度,包括结束标记位*\/ for (j=0;s2[j] !=’\\0’; j++)s1[i++]=s2[j]; \/*将pB字符串连在pA字符串的后面*\/ s1[i]='\\0’; \/*在字符串最后加上结束标记符*...

C语言怎么用printf输出字符串。
C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。它包括两种信息:●格式说明项:由%和格式字符组成,如%d,%f...

用C语言编一程序,将一字符串computer赋给一个字符数组,然后从第一个...
include "stdio.h"include "conio.h"main(){ char a[]="computer";char *p = (char*)malloc( strlen(a) * 3 + 1 );int i;for(i=0 ;i< strlen(a) ; i++){ (p+i*3) = a[i];(p+i*3+1) = '\\%';(p+i*3+2) = 'D';} (p+i*3) = '\\0';puts(p);getch...

用c语言编程实现“有一个字符串,今输入一个字符,将字符串中该字符删掉...
include <stdio.h> main(){ char *str,ch;int i,n,j;printf("Please input a string:");scanf("%s",str);printf("\\nPlease input a character:");scanf("%c",&ch);i=0;n=strlen(str);while(*(str+i)&&(i<=n)){ if (*(str+i)==ch){ for(j=i;*(str+j);j++) *...

用C语言:写一个函数,将两个字符串连接
字符串连接:即将字符串b复制到另一个字符a的末尾,并且字符串a需要有足够的空间容纳字符串a和字符串b。include<stdio.h>void mystrcat(char a[],char b[]){\/\/把a和b拼接起来 int i=0,j=0;while(a[i++]!='\\0'); i--;while(b[j]!='\\0'){ a[i++]=b[j++];} a[i]='\\0...

用C语言实现:将一个字符串逆序复制到另一个字符串
include <iostream> using namespace std;void copy(char *to,const char *from){ if (!from||!to){ return;} __argc = 0;while (*from){__argc++;from++;} from -= __argc;while (__argc--){ to = from[__argc];to++;} to=0;} int main(){ char sz[100];char* sz2 ...

乌拉特中旗19457229080: 如何用C语言将字符串逆序输出? -
郁话藿香: C语言程序如下: #include<stdio.h> #include<string.h> main() { int i,j,t,n; char a[10]; printf("请输入2113字符串:"); 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("\n"); } ...

乌拉特中旗19457229080: c语言 倒序输出字符串 -
郁话藿香: 1 2 3 4 5 6 7 8 9 10 11 12#include<stdio.h> #include<string.h> intmain () {charstring[100];inti;charc;gets(string);for(i=strlen(string);i--;)//<--------------printf("%c",string[i]);//<--------------return0; }

乌拉特中旗19457229080: C语言:输入一个字符串,然后逆序输出 -
郁话藿香: #include <stdio.h>#include <string.h> void fun(char a[]) { int i,length;char t; length=strlen(a); for(i=0;i<length/2;i++) { t=a[i]; a[i]=a[length-1-i]; a[length-1-i]=t; } } main() { char a[10]; printf("input a string:"); gets(a); puts(a); fun(a); puts(a); }//调试成功

乌拉特中旗19457229080: c语言,把一串字符以倒序的方式输出. -
郁话藿香: #include <stdio.h> void main() {char a[100]; int i; gets(a); for(i=0;a[i]!='\0';i++); i--; while(i!=-1){ printf("%c",a[i]); i--; } }

乌拉特中旗19457229080: c语言 字符串逆序输出 -
郁话藿香: main() { char str[50]; int i; printf("请输入字符串 : "); gets(str); printf("字符串逆序排列为:"); // 这一句.. for( i = strlen(str)-1; i >= 0 ; i--)printf( "%c", str[i]); printf("\n"); return 0; }

乌拉特中旗19457229080: C语言怎么逆序输出啊 -
郁话藿香: 程序的关键点是: 1.定义一个char类型数组char a[100]; 2.输入字符串scanf("%s", a); 3.获取字符串长度int iLength = strlen(a); 4.倒序循环输出for(int i = iLength -1; i >= 0; i--){prinft("%c", a[i]); } 5.用上面的步骤应该可以写出来了.自己做相信更有成就感.

乌拉特中旗19457229080: c语言程序 输入一字符串存入数组中,逆序存放并输出 -
郁话藿香: 对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来的字符数组中,最后输出.(不得调用任何字符串处理函数),例如:输入 hello world 输出 dlrow olleh

乌拉特中旗19457229080: 按逆序输出一个字符串(C语言) -
郁话藿香: #includemain() { char str[256],c; int len,i; gets(str); len=strlen(str); for(i=0;i{ c=str[i]; str[i]=str[len-i-1]; str[len-i-1]=c; } puts(str); }

乌拉特中旗19457229080: 用c语言将输入的字符串然后逆序输出 -
郁话藿香: while循环里面应该是n吧...while(str[n]!='\0')n++;

乌拉特中旗19457229080: c语言字符串逆向输出 -
郁话藿香: 把这条语句for (j = sizeof(s[i])/sizeof(char)-1; j >=0 ; j--)改成: for (j = strlen(s[i])-1; j >=0 ; j--)当然还要加一个string.h的头文件. 因为定义字符数组的时候就是s[][10],所以不管你写入几个字符,sizeof(s[?])都是10,用strlen()比较好.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网