如何用C语言将字符串逆序输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用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("\\n");
扩展资料:
字符串倒序输出的五种方法
1、使用数组循环
2、StringBuffer的reverse方法
3、StringBuffer的循环
4、栈的后进先出
5、迭代完成
参考技术A //下面是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语言中对字符串进行操作,不仅仅对于字符数组,都可以用字符串的变量名来做该字符串的指针,其变量名指向第一个字符。因此,可以通过指针从后往前进行读取操作,从而实现逆序输出。
参考技术B #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;
参考技术C
#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("\\n"); return 0; 参考技术D 下面是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语言:任意输入一个三位整数,然后逆序输出。如123变为321。
#include <stdio.h>
int main(void)
int a,b,c,d,e;
printf("请输入一个三位数:");
scanf("%d",&a);
b = a/100;
c = (a-b*100)/10;
d = a-b*100-c*10;
e = d*100+c*10+b;
printf("逆序输出:%d", e);
return 0;
参考技术A main()int x;
scanf("%d",&x);
x=(x%10)*100 + (x/10%10)*10 + (x/100)
printf("%d\n",x);
本回答被提问者采纳 参考技术B #include <stdio.h>
int main()
char num[3];
scanf("%c%c%c",&num[0],&num[1],&num[2]);
printf("%c%c%c",num[2],num[1],num[0]);
return 0;
以上是关于如何用C语言将字符串逆序输出?的主要内容,如果未能解决你的问题,请参考以下文章