C语言,输入一个字符串,逆序排列后输出

作者&投稿:锻和 (若有异议请与网页底部的电邮联系)
把输入的一个字符串按逆序重新排序其字符,并输出。 求排错 C语言~

没有问题,算法完全正确,只要你输入的字符串长度控制在80以内,就不会有问题

#include "stdio.h"
main()
{
char strA[200];
char Temp;
int i=0,Length=0;
clrscr();
printf("请输入一个字符串:");
gets(strA);
Temp=strA[0];
while(Temp!='\0'){
Length++;
Temp=strA[i++];
}
Length--;
for(i=0;i<Length/2;i++){
Temp=strA[i];
strA[i]=strA[Length-i-1];
strA[Length-i-1]=Temp;
}
puts(strA);
getch();
}
你可以个性200到比较大的一个值,也可以在循环语句(FOR 或 WHILE)中加getchar()一个一个地输入文字,然后设定一个结束标志
但是题目要求是要存入一个数组中,而在定义数组时必须指定数组大小,所以只能把数组设大一些,重要的是知道把字符串逆序的方法

可以参考下面的代码:

#include "stdio.h"

main()

{

char strA[200];

char Temp;

int i=0,Length=0;

clrscr();

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

gets(strA);

Temp=strA[0];

while(Temp!='\0'){

Length++;

Temp=strA[i++];

}

Length--;

for(i=0;i<Length/2;i++){

Temp=strA[i];

strA[i]=strA[Length-i-1];

strA[Length-i-1]=Temp;

}

puts(strA);

getch();

}

扩展资料:

C语言参考函数:

atof(将字符串转换成浮点型数)

atoi(将字符串转换成整型数)

atol(将字符串转换成长整型数)

strtod(将字符串转换成浮点数)

strtol(将字符串转换成长整型数)

strtoul(将字符串转换成无符号长整型数)

toascii(将整型数转换成合法的ASCII 码字符)

注意事项:

字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

参考资料来源:百度百科-c语言



代码copy如下:
#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;
}
}
viod main()
{
char a[10];
printf("input a string:");
gets(a);
puts(a);
fun(a);
puts(a);
}
//调试成zd功

代码如下:

#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;
 }
}
viod main()
{
 char a[10];
 printf("input a string:");
 gets(a);
 puts(a);
 fun(a);
 puts(a);
}
//调试成功


#include <stdio.h>
void main()
{char ch,s1[100],s2[100];
int i,j,n;
gets(s1);
n=strlen(s1);
for (i=0,j=n-1;i<n;i++,j--)
s2[j]=s1[i];
s[i]='\0'; //在这里加一句,如果不加只是字符数组,不是字符串
puts(s2);
}
和你填的一样,只是后面多加一句

定义两个字符串,一个接受输入的字符串,第二个逆序接受第一字符串,完成逆序排序。

参考代码:

#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100];
 int i,j,n;
 gets(a);//输入字符串 
 b[n=strlen(a)]='\0';//计算字符串长度,并确定字符b的结束位置 
 for(i=0,j=n-1;i<n;i++)//把a逆序赋值给b 
  b[j--]=a[i];
 puts(b);//输出s2 
 return 0;
}
/*
运行结果:
21324165
56142312
*/



C语言:怎样输入一个字母,输出下一个字母
C语言:怎样输入一个字母,输出下一个字母,可以参考下面的代码:include<stdio.h> int main(){ char a,a1;scanf("%c",&a);a1=a+1;printf("%c",a1);}

C语言怎样输入字母?
在 C 语言中,可以使用字符数组来输入字母。以下是一个简单的程序示例,用于提示用户输入“you”,并验证输入是否正确:```c include <stdio.h> include <string.h> int main() { char input[4]; \/\/ 定义一个长度为 4 的字符数组 printf("请输入“you”:");scanf("%s", input); \/\/ ...

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数
源程序代码如下:include "pch.h"define _CRT_SECURE_NO_WARNINGS\/\/VS环境下需要,VC不需要 include<stdio.h> int main(){ char c = 0;\/\/定义输入字符变量 int num_count = 0;\/\/数字个数 int bigalp_count = 0;\/\/大写字母个数 int littlealp_count = 0;\/\/小写字母个数 int emp_count...

C语言,在键盘上输入一个字符,若该字符为英文字母,则输出“字母”,若为...
把getchar(i);换成i=getchar();include<stdio.h> int main(){ char i;printf("input a character\\n");i=getchar(); \/\/这里是这样的 if((i>='a'&&i<='z')||(i>='A'&&i<='Z'))printf("字母");if(i>='0'&&i<='9')printf("shuzi");return 0;} ...

输入一个字符串,统计出其中空格的个数 C语言
思路:统计字符串中的空格,所以该字符串中有空格,则输入只能使用gets函数,再依次遍历该字符串,判断字符是否是空格,如果是,则空格个数自加1。参考代码:include<string.h>#include<stdio.h>#include<math.h>int main(){int sum=0,i;char a[100];gets(a);for(i=0;a[i]!='\\0';i++)...

c语言从键盘输入一字符串
include <stdio.h> int main(){ char str[100];long long an[100];int cnt=0,i=0,f=0;printf("Please input a string:");gets(str);while(str[i]){ if(str[i]>='0'&&str[i]<='9'){ if(f==1){ an[cnt]=an[cnt]*10+str[i]-'0';} if(f==0){ cnt++;f=1;an[...

入门c语言:从键盘输入一个字符,判断它是字母、数字或其它字符。
主要部分如下:char c;cin>>c;if(c>='0'||c<='9')cout<<"digital character";if(c>='a"||c<='z')cout<<"alphabetic character";else cout<<"other character";大致就这样吧

在C语言中单个字符输入\/输出函数是什么意思
putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。其一般形式是putchar(字符变量),对控制字符则执行控制功能,不在屏幕上显示。fprintf()、fscanf()、fgets()和fputs()举例 fprintf(fp,"%s",words);fscanf(fp,"%s",words);fgets(buf,MAX,fp);\/\/buf 是一个char数组的名称,MAX是...

C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母...
1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...

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

漠河县13142263724: 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); }//调试成功

漠河县13142263724: C语言题目:任意输入一字符串,然后将其反序输出,用两种方法做如果
芒陆垂体: 两个程序均已通过.一个倒过来打印,另一个翻转后打印. 第一个程序: #include #include void main() { char str[100]; int n, i; printf("Input a string:"); scanf("%s", str); ...

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

漠河县13142263724: 如何用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"); } ...

漠河县13142263724: 如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并输出,要求用最基本的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]); } }

漠河县13142263724: 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; }

漠河县13142263724: c语言逆序输入字符串 -
芒陆垂体: while(getchar()!='\n'&&i<=100){ //吸收第一个 ch[i]=getchar(); //读取第二个 i++; } 错在这里,你whlie判断数组是否输入结束的时候已经读入了一个字符, 这就意味着每输入两个字符你只能获得一个,其中一个被while 判断中的getchar吸收掉了

漠河县13142263724: 用c语言将输入的字符串然后逆序输出 -
芒陆垂体: while循环里面应该是n吧...while(str[n]!='\0')n++;

漠河县13142263724: C语言 字符串逆序 -
芒陆垂体: ch=getchar();//从键盘键入一个字符 for(i=0; ch!='\n'; i++) {//如果不是回车键 a[i]=ch;//输入第i个=该字符 n++;//数量累加 ch=getchar();//继续得到一个键入的字符直到该字符是回车键终止循环 } 打字不容易望采纳谢谢...

漠河县13142263724: C语言程序设计:将一个字符串按逆序输出,例如:字符串“abdcef”,逆序后变为“fecdba”用数组方法)急 -
芒陆垂体: //调试通过#include <stdio.h>#include <stdlib.h>#include<string.h> int main() { int size=100;char a[size]; printf("please input the string:"); gets(a); int length=strlen(a); int i=0,j=length-1;char temp; while(i<length/2) { temp=a[i]; a[i]=a[j]; a[j]=temp; i++; j--; } printf("now it is %s",a); return 0; }

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