首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

貌似简单一个算法题:将给定范围内的数字按字符串的排序方式打印输出

2013-04-20 
看似简单一个算法题:将给定范围内的数字按字符串的排序方式打印输出问题如下:给定一个数字N, 要求按字符串

看似简单一个算法题:将给定范围内的数字按字符串的排序方式打印输出
问题如下:
给定一个数字N, 要求按字符串的排序(类似于字典序)方式打印:
例如:N=300,
则应按顺序打印出如下结果:
1
10
100
101
102
..
199
2
20
200
201
...
299
3
30
300

写一个程序,实现上述功能。 算法 C++
[解决办法]
按字符串存储,全部补齐存为4位
比如10存为
s[i][4]={'1','0',0,0};
转化为整数,直接比较整数
x[i]=s[i][0]*1000+s[i][1]*100+s[i][2]*10+s[i][3];
[解决办法]
直接strcmp不就得了
[解决办法]


#include<iostream>
using namespace std;

void f(int n, int threshold)
{
if(n > threshold)
return;
cout<<n<<endl;
for(int i=0;i<=9;i++)
f(10*n+i, threshold);
}
int main()
{
int n;
while(cin>>n)
for(int i=1;i<=9;i++)
f(i, n);
}

热点排行