C++中逆序输出字符串和数字

#include<iostream>
#include<string>
#include<LIST>


using namespace std;

int main()
{   

//字符串逆序
//  string string1;
//  int n,i,temp;
//  cin>>string1;
// 
//  n=string1.size();
// 
//  for(i = 0; i < n / 2; i++)
//  {
//   temp=string1[i];
//   string1[i]=string1[n-i-1];
//   string1[n-i-1]=temp;
//  }
// 
//  cout<<string1<<endl;



// ******************************************************************************************************************************//
// 用list实现字符串的逆置
// ******************************************************************************************************************************//
// 	list<char> cLst;   //存储输入的字符串的每个字符
// 	list<char> cCvLst; //存储逆置后的字符串的每个字符
// 	string str;
// 	cout<<"Please a word:"<<endl;
// 	cin>>str;
// 
// 	//解析将输入的字符串分解成每个字符存入cLst
// 	for(list<char>::size_type index = 0; index != str.length(); ++index)
// 	{
// 		cLst.push_back(str[index]);
// 	}
// 
// 
// 	cout<<"Original word: "<<endl;
// 	for(list<char>::iterator cIt = cLst.begin(); cIt != cLst.end(); ++cIt)
// 	{
// 		cout<<*cIt<<"\t";
// 	}
// 	cout<<endl;
// 
// 	//用copy和front_insert实现逆置
// 	copy(cLst.begin(), cLst.end(), front_inserter(cCvLst));
// 
// 	cout<<"Converted!"<<endl;
// 	for(cIt = cCvLst.begin(); cIt != cCvLst.end(); ++cIt)
// 	{
// 		cout<<*cIt<<"\t";
// 	}
// 	cout<<endl;


 //数字逆序
 //位数
 int digits = 1;
 
 int testDig = 0;
 cin>>testDig;

    int tmp = testDig;
 if(abs(testDig) > 10)
 {
  while(abs(tmp) > 10)
  {
   tmp = abs(tmp) / 10;
   digits++;
  }
 }

 cout<<digits<<endl;

 //逆序输出
 tmp = testDig;
 for(int cycle = 0; cycle < digits; ++cycle)
 {
  cout<<abs(tmp) %10;
  tmp = abs(tmp) / 10;  
 }

 if(testDig < 0)
 {
  cout<<"-"<<endl;
 }


 system("pause");
 return 0;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值