精华内容
下载资源
问答
  • C语言字符串逆序

    2021-03-04 07:57:52
    C语言字符串逆序 #include<stdio.h> #include<stdlib.h> #include<string.h> int i, length; int main(){ char input[100]; char rev_input[100]; gets(input); length = strlen(input); ...

     C语言字符串逆序

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int i, length;
     
    int main(){
        char input[100];
        char rev_input[100];
        gets(input);
        length = strlen(input);
        for(i = 0; i < length; i++){
            rev_input[i] = input[length-1-i];
        }
        printf("%s\n", rev_input);
    }

     

    展开全文
  • c语言 字符串逆序

    2019-08-02 19:37:19
    题目描述: 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串(不包含空格)。 输入: 一行字符 输出: 逆序后的字符串 ... 这道题目要求将输入的字符串逆序输出。首先注意要...

    题目描述:
    写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串(不包含空格)。

    输入:
    一行字符

    输出:
    逆序后的字符串

    样例输入:

                                 123456abcdef
    

    样例输出:

                                 fedcba654321
    

    分析:

       这道题目要求将输入的字符串逆序输出。首先注意要求“不包含空格”,所以不能使用gets()来输入。
       然后调用函数,在被调用的函数中先用strlen()函数求出字符串的长度,然后调换字符,使字符串逆
       序。最后在主函数中用puts()函数输出。
    

    正确代码:

    #include<stdio.h>
    #include<string.h>
    void change(char a[])
    {
        int i = 0;
        int j = 0;
        char t;
        j = strlen(a);      //求字符串的长度
        for(i = 0;i < j/2;i++)
        {
            t = a[i];
            a[i] = a[j-1-i];
            a[j-1-i] = t;
        }          //调换对应位置的字符
    }
    int main()
    {
        char a[50];
        scanf("%s",a);
        change(a);
        puts(a);
        return 0;
    }
    

    知识点:
    求字符串的长度用strlen()函数,同时要使用预处理指令#include<string.h>

    展开全文
  • C语言 字符串逆序

    2011-08-21 13:44:00
    #include<stdio.h>#define Max 200int main(){ char str[Max]; int len=0,i; char *strlen; char *left; char temp; printf("输入字符串:"); gets(str); strlen=str; left=str; ...
    #include<stdio.h>
    #define Max 200
    int main()
    {
    char str[Max];
    int len=0,i;
    char *strlen;
    char *left;
    char temp;
    printf(
    "输入字符串:");
    gets(str);
    strlen
    =str;
    left
    =str;
    while(*strlen++) len++;
    strlen
    -=2;//这里很值得思考
    while(left<strlen)
    {
    temp
    =*left;
    *left++=*strlen;
    *strlen--=temp;

    }
    printf(
    "逆序后的字符串:");
    for(i=0;i<len;i++)
    printf(
    "%c",str[i]);
    printf(
    "\n");


    }

    转载于:https://www.cnblogs.com/huzhongzhong/archive/2011/08/21/2147793.html

    展开全文
  • C语言字符串逆序(一个参数版本+两个参数版本) 一、两个指针参数版本(简单) //添加两个参数 void reverse_string(char* start,char* end){ char tmp = *start; *start = *end; *end = tmp; if (start+1 < ...

    C语言字符串逆序(一个参数版本+两个参数版本)

    一、两个指针参数版本(简单)

    //添加两个参数
    void reverse_string(char* start,char* end){
       char tmp = *start;
       *start = *end;
       *end = tmp;
       if (start+1 < end-1){
       	reverse_string(start + 1, end - 1);
       }
    }
    
    两个指针比较简单,思路:交换前后两个指针start与end所对应的字符,再次调用该函数将start+1,end+1作为参数传入,相当于将头指针向后移,将尾指针向前移,知道移动到头指针>尾指针时,完成整个逆序过程。

    需要注意的是指针之间可以比较大小(相减),判断条件应该设为start+1<end-1

    二、一个指针参数版本(复杂)

    //只能用一个参数
    void reverse_string(char* str){
      int end = strlen(str) - 1;
      char tmp = str[0];
      if (*str){
      	str[0] = str[end];
      	str[end] = '\0';
      	reverse_string(str + 1);
      	str[end] = tmp;
      }
      /*纯指针
      if (*str){
      	*str = *(str+end);
      	*(str + end) = '\0';
      	reverse_string(str + 1);
      	*(str + end) = tmp;
      }*/
      
    }
    
        只是用一个指针的巧妙就是利用了递归,递归其实是两个过程,第一个过程是调用递归,第二个过程是递归返回,所以先将当前尾指针对应的字符保存在一个变量中,再讲当前尾指针直接设为’/0’(相当于去掉尾指针对应的字符),先调用递归,再将保存尾指针字符的变量赋回给头指针。
        递归分为两个过程:调用递归+递归返回,本题就是分别对两个过程进行操作从而达到目的。
    展开全文
  • c语言字符串逆序总结与辨析

    多人点赞 热门讨论 2021-05-20 19:39:43
    头文件:#include strrev()函数将字符串逆置,其...因此它只能逆置字符数组,而不能逆置字符串指针指向的字符串,因为字符串指针指向的是字符串常量,常量不能被修改。 【函数示例】看看strrev()是否改变原有字符串
  • C语言 字符串逆序 函数 strrev()

    千次阅读 2019-05-17 15:06:12
    头文件 #include <string.h> 函数原型 char *strrev(char *str); 功能 把字符串str的所有字符的顺序颠倒。(逆序) 示例
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include void sub_reverse(char *);int main(){char str[256] = "The only way to learn a new programming language is by writing programs in it";...
  • 戆黍熬j纛窦黪鬃用C语言指针实现字符串逆序及回文串的判定口裴晓英(新疆兵团高等专科学校新疆 鸟鲁木齐831300)摘要:字符串逆序输出是C语言经典算法之一,过去利用数组下标处理此类问题,较为繁琐,本文给...
  • C语言字符串逆序字符串逆序有多种办法,下面我们分方法而论://非递归实现字符串反转:char*reverse(char*str){if(!str){returnNULL;}intlen=strlen(str);inti,j;chartemp;for(i=0,j=len-1;i{//交换前后两个...
  • 字符串逆序输出:我先说一个我的错误代码,一开始真的不知道哪里错了,但是当时的想法是自以为是可以的,大家可以先看看我的错误代码这个代码是错误的,正确的在最下方,不要急,我只是展示一下自己的错误,哈哈#...
  • 主要介绍了C语言字符串逆序和单向链表逆序问题的代码示例,求逆序也是考研和面试中的基础算法题类型,需要的朋友可以参考下
  • printf("请输入字符:\n"); for(i=0;i;i++) scanf("%c",&a[i]); for(i=0;i;i++) Push(&S,a[i]); for(i=0;i;i++) Pop(&S,&a[i]); for(i=0;i;i++) printf("%c",a[i]); } int InitStack(SqStack *S) {S->base=(char *)...
  • C语言实现字符串逆序

    千次阅读 2020-01-25 20:17:02
    字符串逆序 /*************************************************************** *Name :StringReverse *Fun :字符串逆序 *InputParaments :str是待逆序的字符串 *OutputParaments :None ********************...
  • C语言-字符串逆序

    2021-03-17 21:41:57
    字符串逆序 字符串逆序就是将字符串反过来 这里我用递归来实现 代码如下: #include <stdio.h> void fun(char *a) { if(*a) { fun(a+1); //通过递归来释放 printf("%c", *a); } } void main() { ...
  • printf("请输入字符:\n"); for(i=0;i;i++) scanf("%c",&a[i]); for(i=0;i;i++) Push(&S,a[i]); for(i=0;i;i++) Pop(&S,&a[i]); for(i=0;i;i++) printf("%c",a[i]); } int InitStack(SqStack *S) {S->base=(char *)...
  • C语言中字符串实现逆序实例详解字符串逆序和正序的实现代码:#include #include #include #include #include /*定义*/typedef struct node{char c;struct node *llink,*rlink;}stud;/*建立链表*/stud * creat(void){...
  • c语言实现字符串逆序

    千次阅读 2018-11-12 00:13:03
    本题要求实现一个字符串逆序的简单函数。 函数接口定义: void f( char *p ); 函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。  3.源代码 #include&l.....
  • 字符串逆序上次面试碰到一个单向链表逆序的题目,幸好对字符串逆序比较熟悉,类比做出来了。字符串逆序比较简单,直接上代码:void stringReverse(char* p1,char* p2){if(p1==p2)return;//swap the value of p1 ,p2*...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,133
精华内容 4,053
关键字:

c语言字符串逆序

c语言 订阅