难度入门篇

取近似数

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);

输入整型数组和排序标识,对其元素按照升序或降序进行排序

同上