zoukankan      html  css  js  c++  java
  • 多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针

    1、递归调用方式实现无符号数反向输出

    C语言实现(DEV c++4.9.9.2运行通过)
    #include<stdio.h>
    
    void reverse_print(unsigned long num)
    {
        if(num==0)
            return;
        printf("%d",num%10); //输出最低位 
        reverse_print(num/10);//递归调用,依次输出最低位
    }
    
    int main(void)
    {
        unsigned long num=12345678;
        reverse_print(num);
        printf("\n");
        system("PAUSE");
        return 0;
    }


    2、栈实现字符串的反转
    C++实现,用C语言实现需要自己定义栈(DEV c++4.9.9.2运行通过)
    #include<iostream>
    #include<stack>
    using namespace std;
    
    int main()
    {
        stack<char> s;
        char n;
        cout<<"输入需要反转的字符串:"<<endl;
        n=getchar();
        while(n!='\n')
        {
            s.push(n);
            n=getchar();                      
        }
        while(!s.empty())
        {
             cout<<s.top();  
             s.pop();                            
         }
         cout<<endl;
         system("pause");
         return 0;   
    }
    

    3、设立头尾指针实现字符串反向输出

    C语言实现(DEV c++4.9.9.2运行通过)

    #include<stdio.h>
    char *converse(char *str);
    
    int main(int argc,char *argv[]) 
    {
        char str[10];
        int a = 1234567;
        sprintf(str, "%d", a); //将整型数转换为char型数组
       // printf("%s\n", s);
       // char str[] = "1234567890zxcvbnma"; //需要转换的字符串数组 
        char *sdest;
        printf("before converse:str= %s \n",str);
        sdest = converse(str); 
        printf("after converse:str= %s \n",sdest);    
        system("PAUSE");
        return 0; 
    } 
    
    char *converse(char *str) 
    { 
        char temp; 
        char *s1 = str;  //s1:头指针
        char *s2 = str+strlen(str)-1;//s2:尾指针 
     
        //头指针和尾指针交换指向的值,并向中间移动,直到相遇
        for(;s1 < s2;s1++,s2--) 
        { 
            temp = *s1; 
            *s1 = *s2; 
            *s2 = temp; 
        } 
       
        return str; 
    }  
    



  • 相关阅读:
    Win32中使用目录浏览器
    xcode 决断设备类型
    一个简单观察者模式的实现 cocos2dx
    在 vector , map , list 间取得平衡
    ChainOfResponsibility 与 Command
    贪吃蛇游戏制作
    Unicode形成的“?”问题
    MFC中手工创建控件
    CString操作指南【转】
    一个简单例子的设计模式分析
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3033550.html
Copyright © 2011-2022 走看看