C++,输入一个五位以内的数,然后顺序、逆序输出各个位的数,用C++来做

求高手啊

第1个回答  2011-05-21
利用递归函数比较简便,不管输入的是几位都可以。
#include<iostream.h>
void output1(int a)//顺序输出
{
if(a>0&&a<10)cout<<a<<" ";
else
{
output1(a/10);
cout<<a%10<<" ";
}
}

void output2(int a)//逆序输出
{
if(a>0&&a<10)cout<<a<<endl;
else
{
cout<<a%10<<" ";
output2(a/10);
}
}

void main()
{
int a;
cout<<"输入一个整数:"<<endl;
cin>>a;
output1(a);
cout<<endl;
output2(a);
}
第2个回答  2011-05-20
#include<iostream>
using namespace std;
int main()
{
char num[6];
int len;
cout<<"Please input an number with five bytes long : ";
cin>>num;
len=strlen(num);
if(len>5)
{
cout<<"The number you inputed beyond the range !\n";
exit(0);
}
for(int i=0;i<len;i++)
{
if(num[i]<'0' || num[i]>'9')
{
cout<<"The number you inputed wasn't an integer !\n";
exit(0);
}
cout<<"Inorder : \n";
for(int i=0;i<len;i++)
{
cout<<num[i]<<" ";
}
cout<<"\n\nPostorder : \n";
for(int i=len-1;i>=0;i--)
{
cout<<"number[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}本回答被提问者采纳
第3个回答  2011-05-20
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;

int main(int argc, char *argv[])
{
int n;
int a[100];
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
for(int i=n-1;i>=0;i--)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
好吧,我好像看错题目了!
相似回答