内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

首页 > 小知识 > 正文

逆序输出字符串C语言

2019-03-06 出处:网络 整理:zhishizhan.net

    话题:逆序输出字符串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.用上面的步骤应该可以写

    参考回答:展开全部 程序的关键点是: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.用上面的步骤应该可以写出来了。自己做相信更有成就感。逆序输出字符串C语言

    话题:如何用c++语言将数列逆序输出

    回答://---------------------------------------------------------------------------#include using namespace std;void prt(int n){int i;if (n){cini;prt(n-1);cout}}int main(void){prt(5); /*输入5个数字,逆序输出*/return 0;}//---------------------------------------------------------------------------

    参考回答:光是逆序输出,你从数列最后一个打印不就好了?如果是需要先逆序排列,第一个和最后一个,依此类推,循环到数列一半,就做好了。。不用数组有很多办法的嘛,vector,map,list都可以

    话题:C++输入一字符串,要求逆序输出

    回答:------ Build started: Project: node, Configuration: Debug Win32 ------Compilingmain.cppe:\documents\visual studio 2008\projects\node\node\main.cpp(10) : error C2440: 'initializing' : cannot convert from 'std::string' to 'char []'No user-defined-conversion operator available that can perform this conversion, or the operator cannot be calledchar str[]=string1; 这句错了。这样是不可以的。不就是要逆序输出嘛?你都用上了string类了哪还需要这么麻烦啊?ajlsdljjlasjlksajlasdfljsdafjlsadjljl23jlk25nlslljlxzzxljllsln52klj32ljljdasljfadsjlfdsaljaskljsaljjldslfsja请按任意键继续. . .#include "iostream" using namespace std; #include int main() {stringstring1; cin string1; for(int i=(int)string1.size()-1;igt;=0;i--){cout

    参考回答:sizeof是这个变量占的内存大小,要得到string类型的字符串的长度可以用成员函数length()或者size()其实还可以一种简单的逆序方法,string str1("1234567890"); string str2(str1.rbegin(), str1.rend());逆序输出字符串C语言

    话题:急!c++程序:输入一个字符串,把其中的字符按逆序输出。要求采用

    回答:这个是的,不过是从我之前给别人回答的问题里的:#include "stdafx.h"#include #include char* strrev2(char *str){char *tmp = new char[strlen(str) + 1]; // 需要+1,最后为'\0'tmp = tmp + strlen(str); // 移动到最后一个字符*tmp = 0; // 最后一个设置为0while(*str){// 到最后--tmp;*tmp = *str;++str;}// 最后又跑到tmp开头哪里了return tmp;}int main(){char bn[100];printf("输入字符串: ");scanf("%s", bn);char *rev = strrev2(bn);printf("反转后: %s\n", rev); delete[] rev;getchar(); return 0; }

    参考回答:很简单的一个程序,二楼给了那么长,看着劲。#include#includeusing namespace std;int main(){int i;string str;coutcinstr;coutfor(i=str.length()-1;i=0;i--)coutcoutsystem("pause");return 0;}

    话题:要求用c++语言编写函数将字符串按逆序存放

    回答:#include #include void reverse(char *s){char *left;char *right;char tmp;if (!s) return;right = s;while(*right) ++right;left = s;--right;while (left tmp = *left;*left = *right;*right = tmp;++left;--right;}}int main(void){char s[1000];while( gets(s) ) {reverse(s);printf("result is: %s\n", s);}return 0;}编译:g++ a.cpp -o a.out运行结果:123456789result is: 987654321

    参考回答://---------------------------------------------------------------------------#include using namespace std;void prt(int n){int i;if (n){cini;prt(n-1);cout}}int main(void){prt(5); /*输入5个数字,逆序输出*/return 0;}//---------------------------------------------------------------------------逆序输出字符串C语言

    话题:请用简单C++程序编程 输入一行字符,逆序输出

    回答:#include "iostream"#include "stack"#includeusing namespace std;int main(){ stack s; char tp; tp=getchar(); while(tp!='\n') { s.push(tp); tp=getchar(); } while (!s.empty()) { cout s.pop(); } cout return 0;}

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

    回答://下面是C语言码#include 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语言中对字符串进行作,不仅仅对于字符数组,都可以字符串的变量名来做该字符串的指针,其变量名指向第一个字符。因此,可以通过指针从后往行读取作,从而实现逆序输出

    参考回答:修改出来了。img src="https://pic.wenwen.soso.com/p/20190111/20190111084823-134771765_jpeg_251_100_6779.jpg"#include lt;stdio.hgt;#include lt;conio.hgt;int main(void){int i,count=0;char s[80];printf("请输入大写字母:");for(i=0; s[count - 1]!='\n'; i++) /// 修改{s[i] = getchar(); /// 修改// scanf(" %c",s[i]);count++;}for(i=count-1;igt;=0;i--)printf("%c",s[i]);return 0;}逆序输出字符串C语言

    话题:C语言字符串逆序输出问题

    回答:#include"stdio.h" #include"string.h" #include conio.h int main(){ char a[100]; int i, j, prev = 0, back = -2, length = 0, tmp; printf("Please input the char string.\n"); gets(a); for(length = 0; a[length] != '\0

    参考回答:展开全部 #include"stdio.h" #include"string.h" #include conio.h int main(){ char a[100]; int i, j, prev = 0, back = -2, length = 0, tmp; printf("Please input the char string.\n"); gets(a); for(length = 0; a[length] != '\0'; length ++); /* for(i = 0; i length/2; i ++){ tmp = a[length - i - 1]; a[length - i - 1] = a[i]; a[i] = tmp; }*/ for(i = 0; i length; i ++){ if(a[i] == ' '){ prev = back + 2; back = i - 1; for(j = 0; j = ((back - prev)/2); j ++){ tmp = a[prev + j]; a[prev + j] = a[back - j]; a[back - j] = tmp; } } } for(j = 0; j = (length - 1 - back - 2)/2; j ++){ tmp = a[back + 2 + j]; a[back + 2 + j] = a[length - 1 - j]; a[length - 1 - j] = tmp; } printf("Fan is : %s\n", a); getch(); return 0;} 看看这段程序怎么样?是不是能满足要求了?:)你把注视那段码去掉,可以发现这个程序的另一个功能,呵呵。

    话题:C语言:输入一个字符串,然后逆序输出

    回答:可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。 字符串实际长度可以用strlen函数来计算。 方法程序如下: #includestdio.h #includestring.h main() {char a[10];int i,j; scanf("%s",a); j=st

    参考回答:展开全部 可以将整数当做字符串(字符串长度不超过10)接收,然后反向输出字符数组元素即可。 字符串实际长度可以用strlen函数来计算。 方法程序如下: #includestdio.h #includestring.h main() {char a[10];int i,j; scanf("%s",a); j=strlen(a); for(i=j-1;i=0;i--) printf("%c",a[i]); printf("\n");} 扩展: C语言高效编程技巧: 一:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题 二:数学方法解决问题 数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。 三:使用位作 实现高效的C语言编写的第三招----使用位作,减少除法和取模的运算。 在计算机程序中,数据的位是可以作的最小数据单位,理论上可以用“位运算”来完成所有的运算和作。一般的位作是用来控制硬件的,或者做数据变换使用,但是,灵活的位作可以有效提高程序运行的效率。 参考:百科-C语言逆序输出字符串C语言

    话题:用C语言写 字符串逆序输出

    回答:逆序输出有很多种,具体的实现方法取决于你题目的要求1. 如果只是要求逆序输出,那么可以采用类似的方法:void reverse(char *s){if(*s=='\0')return;reverse(s+1);printf("%c",*s);}这种方法在s很长的情况下会一直递归到底,不是很好

    参考回答:展开全部 逆序输出有很多种,具体的实现方法取决于你题目的要求1. 如果只是要求逆序输出,那么可以采用类似的方法:void reverse(char *s){if(*s=='\0')return;reverse(s+1);printf("%c",*s);}这种方法在s很长的情况下会一直递归到底,不是很好。2. 如果需要将字符串整个逆序在函数外面输出,那么可能希望采用返回字符串指针的方式;实现如下:char * reverse( char* s ){static char *p = s+strlen(s)-1; //p是一个静态变量,指向当前递归层处理的字符串尾,而s指向字符串头if(s p){ char c = *p; //头尾字符 *p = *s; *s = c;p--; //尾向前挪一个reverse(s+1); //相当于头向后挪一个}return s;}3.1 当然,有的时候,并不需要reverse函数本身递归,而是可以借助一些辅助的递归函数,说:void reversehelp(char * head, char * end){if (head end){char c = *head;*head = *end;*end = c;reversehelp(++head, --end);}}然后在调用时像这样调用:char * reverse(char * s){char * end = s + strlen(s) - 1;reversehelp(s, end);return s;}3.2 类似的辅助函数还可以采用一个字符串指针和一个长度参数的方式,如下例:void reversehelp( char* s, int n ){if ( n 1 ){char c = s[n-1];s[n-1] = s[0];s[0] = c;reversehelp( s+1, n-2 );}}然后在调用时如下:char *reverse(char *s){reversehelp( s, strlen(s) );return s;}

相关文章

搞笑图片