7-3 逆序的三位数 (10分)---队列

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:
每个测试是一个3位的正整数。

输出格式:
输出按位逆序的数。

输入样例:
123
输出样例:
321
鸣谢安阳师范学院软件学院李康康同学补充数据!

不知道大家这题是怎么解决的。我用的是队列。

 #include 
#include 
#include 
#include 
using namespace std;

int main (){
     
	string str;
	while(cin>>str){
     
		queue<char> que;
		for(int i=str.length()-1;i>=0;i--){
     	
			if(que.empty()==1&&str[i]=='0'){
     
				continue;
			}else{
     
				que.push(str[i]);
			}
		}
		while(!que.empty()){
     
			cout<<que.front();
			que.pop();
		}
		cout<<endl;
	}
	return 0;
}

我先去看看大佬怎么写的。

#include 
using namespace std;
int main (void)
{
     
	int num;
	int a, b, c;
	
	scanf("%d", &num);
	a = num / 100;
	b = (num - 100 * a) / 10; 
	c = num % 10;
	
	printf("%d", 100*c + 10*b + a);
	
	return 0;
 } 

他们的好像还更简便一些,直接解决了前导0的问题。

你可能感兴趣的:(算法入门,队列)