如何让一组数据倒着输出。
如123456 输出654321
好多方法啊 !!!
可以将数组定义为字符型,数组型!具体方法可以有递归,堆栈,后者最笨的方法,利用循环倒着输出,等等!
譬如:
利用循环倒着输出:
#include <iostream>
using namespace std;
int main()
{
int n;
int* a;
cout<<"请输入数组的长度"<<endl;
cin>>n;
a=new int[n];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=n-1;i>=0;i--)
cout<<a[i];
}
递归:
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
const int N=20;
void f(string s,int n)
{
cout<<s[n-1];
if(n>1)
f(s,--n);
}
int main()
{
string s[N];
int i=0;
while(cin>>s[i])
i++;
cin.clear();
cin.sync();
cout<<"原先的句子为:"<<endl;
for(int j=0;j<i;j++)
{
cout<<setw(8);
cout<<s[j];
}
cout<<"\n置换后句子为:"<<endl;
for(int k=0;k<i;k++)
{
int n=s[k].length();
f(s[k],n);
cout<<setw(2);
}
cout<<endl;
}
堆栈也可以的!利用<stack>很容易实现的