博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第五题(打完自闭)
阅读量:20612 次
发布时间:2019-12-03

本文共 1801 字,大约阅读时间需要 6 分钟。

排序

输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。

你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。

Input

输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。

输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。

Output
对于每个测试用例,输出分割得到的整数排序的结果,相邻的两个整数之间用一个空格分开,每组输出占一行。
Sample Input
0051231232050775
Sample Output
0 77 12312320
问题分析:输入一串数字,把5当空格进行分割得到若干个数,把这些数由小到大输出,每两个数之间有一个空格
程序分析:先用char数组记录输入的数字,然后去5,分割数字,用另一个二维char型数组记录每一个分割得到的数,接下来对每一个数去开头的0,然后把每一个char型数字串转化为int型数,最后对其得到的数进行排列、输出。
其实可以省一些步骤的,当分割完数字得到一个二维char型数组的时候就可以把char型转化为int型,这样可以省略去0的步骤,不过打完代码才想到这个办法。
#include
#include
#include
#include
using namespace std;
int main()
{
char a[1010];
while (cin >> a)
{
char b[505][1010];
int i = 0, i1 = 0, i2 = 0,p=0;
while (a[i])
{
if (a[i] != ‘5’)
b[i1][i2] = a[i], i2++,p=2;
else
{
p–;
}
if(p1&&a[i]‘5’)
{
b[i1][i2] = 0, i1++, i2 = 0;
}
i++;
}
if (a[i - 1] == ‘5’)
i1–;
int mm[505];
for (int i2 = 0;i2 <= i1;i2++)
{
mm[i2] = strlen(b[i2]);
}
int i4 = 0, i5 = 0, i6 = 0, i11 = 0, i12 = 0;
for (;i4 <= i1;i4++)
{
i5 = 0;
if (b[i4][0] == ‘0’)
{
i12++;
while (b[i4][i5])
{
b[i4][i5] = b[i4][i5 + 1];
i5++;
}
b[i4][i5] = 0;
}
if (i12 == mm[i4])
{
b[i4][0] = ‘0’;
i12 = 0;
}
else if (b[i4][0] == ‘0’)
i4–;
else i12 = 0;
}
for (int i2 = 0;i2 <= i1;i2++)
{
int i7 = 0;
while (b[i2][i7])
{
i7++;
}
}
int c[505];
for (int i = 0;i <= i1;i++)
{
int e[1010];
c[i] = 0;
for (int ii = 0;ii < strlen(b[i]);ii++)
{
for (int iii = ‘0’, iiii = 0;iii < ‘10’;iii++, iiii++)
{
if (b[i][ii] == iii)
e[ii] = iiii;
}
c[i] += e[ii] * pow(10, strlen(b[i]) - ii - 1);
}
}
for (int i = 0;i <= i1;i++)
{
int r = i, s;
for (int ii = i;ii <= i1;ii++)
{
if (c[r] > c[ii])
{
r = ii;
}
}
s = c[r];
c[r] = c[i];
c[i] = s;
}
for (int i = 0;i < i1;i++)
cout << c[i] << " ";
cout << c[i1];
cout << endl;
}
}

转载地址:http://xgevfk.baihongyu.com/

你可能感兴趣的文章
如何保证 Redis 缓存与数据库双写一致性?
查看>>
来,通过 Excel 来认识神器——POI
查看>>
Zookeeper 怎么保证分布式事务的最终一致性?
查看>>
自从项目用了 Disruptor,性能提升了 2.5 倍!
查看>>
电商促销后台设计,写得太好了!
查看>>
日志收集神器 Logstash,闪亮登场~
查看>>
一次线上商城系统高并发优化,涨姿势了~
查看>>
IntelliJ IDEA 查看类继承关系图,太强大了!
查看>>
四步,搞定一个短信验证码登录!
查看>>
你还在手写 CRUD?试试 MybatisGenerator,再也不用加班了!
查看>>
四步,搞定一个短信验证码登录!
查看>>
自从上了 Prometheus 监控,睡觉真香!
查看>>
2021 最新 Java 面试题出炉!(带全部答案)
查看>>
牛逼!自己手写一个热加载~
查看>>
代码优化 5 大原则,第一条就是别优化了!!!
查看>>
还在搞三层架构?DDD 分层架构了解下!
查看>>
字节跳动面试流程和考点都在这了!!
查看>>
最牛逼的数据库性能测试工具,没有之一!
查看>>
Spring 天天用,bean 懒加载原理你懂吗?
查看>>
如何设计一个完美的权限管理模块?
查看>>