蓝桥杯VIP试题 算法训练 逆序输出

试题 算法训练 逆序输出

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  编写一个递归函数,将一个正整数的每一位取出来并从低位到高位的顺序输出
输入格式
  123456
输出格式
  654321
样例输入
一个满足题目要求的输入范例。
例:
654321
样例输出
与上面的样例输入对应的输出。
例:
123456
数据规模和约定
  输入数据中每一个数的范围。
  例:0<n,m<100, 0<=矩阵中的每个数<=1000。

思路:原以为本题是自己用递归的方式编写一个程序,然后编译错了,查了一下发现只需要编写递归中一小段算法即可。

原来自己编写的代码:

#include<iostream>
#include<string.h>
using namespace std;
void lx(char a[106]){
	int i,l;
	l=strlen(a);
	for(i=l-1;i>=0;i--){
		cout<<a[i];
	}
}
int main(){
	char a[106];
	cin>>a;
	lx(a);
}

运行出现编译错误的代码:

#include<iostream>
using namespace std;
void reverse(int t); 
int main(){
int a=0;
cin>>a;
  reverse(a);
return 0;
}

void reverse(int t){
#include<iostream>
#include<string.h>
using namespace std;
void lx(char a[106]){
	int i,l;
	l=strlen(a);
	for(i=l-1;i>=0;i--){
		cout<<a[i];
	}
}
int main(){
	char a[106];
	cin>>a;
	lx(a);
}
}

从上面可以看出只需要编写reverse中的一小部分代码,所以实际应该编写的代码为:

while(t>0){
  		cout<<t%10;
  		t/=10;
  	}   //将本段代码放入reverse函数中即可
发布了51 篇原创文章 · 获赞 47 · 访问量 1943

猜你喜欢

转载自blog.csdn.net/weixin_45269353/article/details/104571447