难度入门篇
取近似数
cout<<(int)(a+0.5)<<endl;
提取不重复的整数
nums[]记录不重复数字
while(a){
b = a % 10;
if(!nums[b]){
nums[b]++;
res = res * 10 + b;
}else{
}
a = a / 10;
}
截取字符串
使用string自带函数str.substr(weizhi, changdu);
cout<<s.substr(0, n)<<endl;
输出n个整数中最小的k个数
排序,取最小K个就可以。 排序采用快排。 快排需要注意:基准base选左边时,先右后左遍历。
void quickSort(int left, int right){
if(left >= right) return ;
int base = a[left];
int l = left, r = right;
while(l < r){
while(a[r] >= base && l < r){
r--;
}
while(a[l] <= base && l < r){
l++;
}
if(l < r){
int tmp = a[l];
a[l] = a[r];
a[r] = tmp;
}
}
a[left] = a[l];
a[l] = base;
quickSort(left, l - 1);
quickSort(l + 1, right);
}
//使用sort()
#include<algorithm>
//定义排序方式,实例按从大到小。
bool cmp(class a, class b){
return a > b;
}
sort(begin(), end(), cmp);
输入整型数组和排序标识,对其元素按照升序或降序进行排序
同上