数字排序问题(c++)
来源:互联网 发布:网络摄像头容量计算 编辑:程序博客网 时间:2024/05/30 19:32
Description
给一个N位的正整数,该数不包含前导0,先让你调整其中每个数字的位置,得到另一个n位的数,并且使得这个数越小越好,而且这个数不能包含前导0。比如543210可以变成102345,而12345保持不变才是最优结果。
Input
第一行一个整数T(T<=100),表示有T组数据。
每组数据先输入一行一个整数N(1<=N<=100),表示位数,接下来一行输入一个N位的不包含前导0的正整数。
Output
每组数据对应一行输出,即调整数字位置后能得到的最小的不包含前导0的数。
Sample Input
Sample Output
102345
123
123
AC代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; //c++头文件;
int main ()
{
int t;
scanf("%d",&t);
while (t--)
{
int n,i,j;
char a[101];
scanf("%d%s",&n,a); //数字的排序(使用字符数组);
sort (a,a+n); //c++中sort排序;
if(a[0]=='0') //0特殊情况,优先考虑;
{
for(i=1; i<n; i++)
if(a[i]!='0') //0特殊情况,特殊考虑;
{
a[0]=a[i];
a[i]='0'; //不改变顺序,单独调换;
break; //跳出循环;
}
}
printf("%s",a); //输出字符串;
printf("\n");
}
return 0;
}
总结:数字排序问题:
1.数字也是字符,分情况使用字符数组和数组;
2.排序问题,c++sort排序优先考虑;
3.字符数组的使用;
- 数字排序问题(c++)
- 问题 C: 数字排序问题
- 数组排序问题(数字字符串排序)
- HNU OJ题库 1002C数字排序问题
- 数字排序问题
- 数字排序问题
- 数字排序问题
- 1002: 数字排序问题
- C/C++学习:数字排序(使用快速排序)
- C数字图形问题
- 【C++】数字问题
- 排序及问题(c)
- oracle中数字排序问题
- 数字去重排序问题
- 字母数字汉字排序问题
- 毕晓英415 数字排序问题
- 关于十数字排序问题
- 数字排序问题(逆序,顺序)(冒泡排序法,选择排序法)
- openjdk7的编译
- Tensorflow 分布式部署简介
- 从头认识多线程-2.14 由同步的synchronized (newobject()) 引起的异步现象和脏读
- (OK) Fedora 23——CORE——docker——(5)——> install-core
- 不同单词个数
- 数字排序问题(c++)
- details标签
- 小白说编译原理-7-算术表达式编译树(支撑类)
- 哈理工OJ 1562 字符统计器(水模拟)
- jquery-easyui:datagrid初始化不加载数据
- 各种排序算法(冒泡、选择、快排、插入、希尔、堆排、归并、计数、基数)
- libevent简介和使用
- 图形界面的基本概念
- Ubuntu 修改时区 更新时间 留存以备后用