如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并输出,要求用最基本的C语言

来自:    更新日期:早些时候
C语言上机题目:输入一个字符串,然后按逆序重新存放该字符串.~

#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)以及超级电脑等作业平台。

以一个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]);
}
}

#include<stdio.h>
char ch1[20];void Exchange(char arry[],int x);
void main()
{
char ch[20];

printf("输入一个字符串:(反序存储)"); gets(ch);
printf("输出字符串:");
Exchange(ch,20);
puts(ch1);
}
void Exchange(char arry[],int x)
{

int k;
int j;
int m;
for(j=0;j<x;j++)
{
if('\0'==arry[j])
{
m=j-1;
for(k=0;k<j;k++)
{
ch1[k]=arry[m];
m--;
}
ch1[k]='\0';
break;
}
}

}

for(i=strlen(a)-1,j=0;i>=0;i--){b[j]=a[i];j++;只要一个循环就行了。
另外循环结束还要加个b[j]='/0'

#include <stdio.h>
#include <string.h>
#define MXN 1100
char Arr[MXN],Rev[1100];
int main()
{
scanf("%s",Arr);
int Len=strlen(Arr);
int wi;
for(wi=1;wi<=Len;++wi)
    Rev[Len-wi]=Arr[wi-1];
 printf("%s",Rev);
 return 0;
 }


http://zhidao.baidu.com/question/150815435.html?oldq=1&from=evaluateTo#reply-box-451957844

请问exchange是什么意思啊,我们还没学啊,我们刚学到数组这啊
就是 自己写的一个函数,自己命名的函数名。

你这只是输出的时候可以,关键是怎样把这组数转到另一组里面
#include
#include
void main()
{
char a[20],b[20];
int i,j;
gets(a);
for(i=strlen(a)-1,j=0;i>=0;i--,j++)
{ b[j]=a[i]; }
b[j]='\0';
puts(b);//自己运行看吧,我输出的是b。
}

那个你的b[j]=a[i];是怎么运行的?难道是从J=0开始?对应i=20?,还有啊,为什么要在最后加一个b[j]='\0'啊,这是什么意思啊
就是j=0对应i=20啊,,就是依次把 a 的最后一个赋值给 b 的第0,1,2.....个,每个字符串都要以'\0'结尾的。比如定义a[]="abc",其实a里面的元素一共是{'a','b','c','\0'}。

那为什么不写成for(i=20,j=0;i>=0,j<=20;i--,j++)?
如果定义a[10]="abcd",那么stren(a)==4,那你说现在a[10]等于多少?a[0],a[1],a[2],a[3]等于多少??

哦,你的意思是说,如果从i=0开始,那么我就默认了它一定有10个字符,而用strlen()函数,则是根据我的输入而定的是吧,但是J=0,加上一个b[j]="\0",则是保证了从a[20]里能复制到b[20]里所有的输入的数,对吧?
恩差不多,就是20是你定义的数组最大空间,struct()的值是实际占用的空间。
编译器扫描每个字符串是遇到'\0'结束的。比如a[]="abc",puts(a); puts函数先扫描到'a',再是'b',再是'c',再是'\0',碰到'\0'就结束扫描。就输出abc,如果你后面不加'\0',就会无限扫描,会出乱码。


如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并输出,要求用最基本的C语言视频

相关评论:
  • 17355409554编一个c语言程序,从键盘输入一个字符,输出其ASCII码值,用putchar...
    宦博鲁putchar(b+'0');putchar(c+'0');putchar(d+'0');}

  • 17355409554在C语言中如何实现用键盘输入一个字符串,并打印出来?
    宦博鲁在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为...

  • 17355409554如何用C语言编写“从键盘上输入一个小写字母,将其本身及对应的大写字...
    宦博鲁prinft("大写字母是:%c\\n",ch);} else(printf("请输入大写字母");)示例三:include <stdio.h> main(){ char c; \/\/声明变量 scanf("%c",&c); \/\/键盘上取值 printf("%c %c",c,ch-'a'+'A');\/\/本身和大写输出 } ...

  • 17355409554如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并...
    宦博鲁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]);} }

  • 17355409554c语言从键盘输入一个三位数,输出该数的逆序数。
    宦博鲁在C语言中,当你需要从用户键盘输入一个三位数,并将其逆序输出,可以使用以下简单的代码实现。这段代码首先会提示用户输入,然后通过计算和格式化输出,展示逆序的数字。下面是具体的步骤:首先,你需要在C程序中引入头文件,以便使用输入和输出功能。在main函数中,定义一个整型变量x来存储用户输入的三...

  • 17355409554在C语言中如何实现用键盘输入一个字符串,并打印出来?
    宦博鲁在C语言中输入字符串后然后打印出来的编程方法如下:1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4....

  • 17355409554求教C语言,从键盘输入一个整型数据(int型),编写程序判断该整数共有几...
    宦博鲁num=n; do{ n=abs(n); switch(n%10) { case 0:a++;break; case 1:b++;break; case 2:c++;break; case 3:d++;break; case 4:e++;break; case 5:f++;break;

  • 17355409554如何用c语言编程实现"从键盘输入一个小写母,向屏幕输出其对应的大写字...
    宦博鲁{ char ch;printf("请输入一个小写字母:");scanf("%c",&ch);ch=ch-32;printf("大写字母是:%c\\n",ch);return 0;} 可以加一个判断 include<stdio.h> int main(){ char ch;printf("请输入一个小写字母:");scanf("%c",&ch);while(!(ch>='a'&&ch<='z')){printf("输入错误...

  • 17355409554C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升 ...
    宦博鲁int main(int argc,char *argv[]){ char a[101],*p,*px,t;printf("Input a string...\\n");for(p=a,t=0;t<100;t++)\/\/输入字符串 if((*(p+t)=getchar())=='\\n')break;(p+t)='\\0';for(p=a;*p;p++)\/\/排序 for(px=p+1;*px;px++)if(*p>*px){ t=*p;p=*px...

  • 17355409554c语言程序设计答案 编程实现,从键盘输入一个字符,则输出其后的字符,如...
    宦博鲁NO_WARNINGS\/\/VS环境下需要,VC不需要 include<stdio.h> void main(){ char a;\/\/定义一个字符 printf("请输入一个字符:");\/\/文字提示 scanf("%c", &a);\/\/输入一个字符 printf("其后续字符为:");\/\/文字提示 printf("%c\\n", a + 1);\/\/输出其之后的字符 } 程序运行结果如下:...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网