用C语言如何实现键盘输入一个字符串,存放到数组,然后逆序存放到原位置并输出?

如题所述

#include<stdio.h>

#include <string.h>

int main()

{

char str[100];

printf("输入一个字符串:");

scanf("%s",str);

char  temp;

int t=strlen(str);

for(int i=0;i<t/2;i++)//这个循环用于逆序存放到原位置

{

temp=str[i];

str[i]=str[t-i-1];

    str[t-i-1]=temp;

}

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

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

printf("\n");

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-04

1 输入字符串

2 计算长度

3 头尾对应字符对换即可。

代码如下

#include <stdio.h>
int main()
{
    char s[100];
    int l,i;
    char c;
    scanf("%s",s);//输入
    l = strlen(s);//字符总数。
    for(i = 0; i<=l/2; i ++)
    {
        c = s[i];
        s[i] = s[l-i-1];
        s[l-i-1]=c;//依次对换。
    }
    puts(s);//输出逆序后的s。
}

第2个回答  推荐于2018-02-27

/*

输入一个字符串 : 0123456789
9876543210
Press any key to continue

*/

#include <stdio.h>
#include <string.h>
int main() {
char i,t,len,s[256];
printf("输入一个字符串 : ");
scanf("%s",s);
len = strlen(s);
for(i = 0; i < len/2; ++i) {
t = s[i];
s[i] = s[len - 1 - i];
s[len - 1 - i] = t;
}
printf("%s\n",s);
return 0;
}

本回答被提问者和网友采纳
第3个回答  2013-04-29
#include<stdio.h>
#include "string.h"
int main()
{
char ch[1000],t;
int i;
printf("输入一个字符串:");
scanf("%s",ch);
for(i=0;i<=strlen(ch)/2;i++)
{
t=ch[i];ch[i]=ch[strlen(ch)-i-1];ch[strlen(ch)-i-1]=t;
}
for(i=0;i<=strlen(ch)-1;i++)
printf("%c",ch[i]);
}

c语言程序 输入一字符串存入数组中,逆序存放并输出
这篇文章主要讲解如何使用C语言编程,将用户输入的字符串逆序存储在原数组中,并输出结果,无需调用内置的字符串处理函数。例如,当我们输入字符串 "hello" 和 "world",程序会将它们逆序变成 "dlrow" 和 "olleh"。字符串在C语言中,本质上是字符数组,每个字符占用数组的一个位置。值得注意的是,字符...

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

...输入:输入一串字符串,将其保存到数组,然后逆序保存到另一个数值...
{ carr2[9-i]=carr1[i];\/\/将原来的carr1倒序放到carr2 } printf("%s",arr2);\/\/输出arr2字符数组的所有内容。}

C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
int main(){ char s[20];input(s);\/\/调用输入函数 printf("Original string: %s\\n", s);\/\/输出原字符串 reverse(s);\/\/调用反序函数 printf("New string: %s\\n", s);\/\/输出反序后的字符串 return 0;} void input(char st[]){ printf("Please enter string: ");gets(st);} \/\/...

C语言。输入一个字符串按反方向存放,并将其输出。怎样编写这个程序?
define szSTR 256 \/*递归方式逆序存储字符串,将逆序内容写入fw底层流文件*\/ void rev(char * src, int fw){ if (!src || fw < 1) return ;if (!*src) return ; \/*如果字符串结束则返回*\/ rev(src + 1, fw); \/*递归到下一个字符地址*\/ write(fw, src, 1); \/*递归返回后将...

如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并...
以一个8为字符串为例:代码如下 include<stdio.h> int main(){ int i,j;char ch1[8],ch2[8];for(i=0;i<8;i++){ printf("请输入第%d个字符",i);scanf("%c",&ch1[i]);fflush(stdin);} for(j=0;j<8;j++){ ch2[j]=ch1[7-j];printf("%c",ch2[j]);} } ...

C语言实现数组逆序输出的方法?
1、首先打开软件VC++6.0软件,准备一个空白的C语言文件,引入头文件并写好主函数:2、然后输入代码,首先定义数组,接着用一个for循环接受用户输入的数组元素并将其打印到屏幕上,并保存到前面的数组中,然后用第二个for循环逆序排序,方法就是前面的元素和后面的元素比较大小,前面比后面小就交换顺序...

如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并...
include <stdio.h> int main(){ char s1[20], s2[20];scanf("%s", s1);int l=0,i=0;while(s1[l] !='\\0') l++;for(i=0;i<l;i++){ s2[l-1-i]=s1[i];} s2[l]='\\0';printf("%s", s2);return 0;}

C语言:编写一个函数,将一个字符串按逆序存放。在主函数中输入和输出字...
反序字符串,只需要将首尾字符依次调换即可。include <stdio.h>#include <string.h>\/\/ 反序字符串x并返回char* reverse(char *x){ int len = strlen(x); int i, n = len \/ 2; char tem; for (i = 0; i <= n; i++) { tem = x[i]; x[i] = x[len...

相似回答