多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
来源:互联网 发布:最美的诗词 知乎 编辑:程序博客网 时间:2024/05/01 08:17
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; }
- 多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
- 66_指针_实现两个数的互换.cpp
- 汇编_输出字符串
- 39_字符串指针
- 字符串_字符串翻转输出
- 无重复全排列_非递归实现
- 递归实现反向输出字符串
- 小红书2018编程_输出字符串中最大的数
- 指针与字符串_基础知识
- C++_递归实现汉诺塔
- 数据结构_递归算法_问题_栈溢出
- c语言链表_递归_创建和输出
- 30_有符号数据传送给无符号变量
- 全排列思想 实现_ _ _ + _ _ _ = _ _ _解法
- 指针与字符串_字符串处理函数
- Java字符串_日期_数字格式化输出
- 指针_习题:输入一个字符串,将里面的数字、字母、其他符号筛选出来
- 24_输出双精度数.cpp
- C/C++ const用法注意
- unity3D中 lightmap 与 动态光照的实时切换
- PID控制原理
- easyboot的一个严重不足
- B. Increase and Decrease
- 多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
- 国内从事CV相关的企业
- perl移植须知
- Linux获取系统时间 函数
- 轮廓 - 查找轮廓、表示轮廓、绘制轮廓
- 递归之我见
- 关于读word中table出现“无法将带 [] 的索引应用于“Interop.Word.Tables”错误的解决
- 图像形态学 - 漫水填充算法(cvFloodFill)
- 最短路算法(写烂它,倒背如流)