2014华为机试——按照升序排列返回整型数组中包含指定整数的元素
2014-07-17 17:34
330 查看
// 【输入】 num:整型数组; // // value 指定的整数 // // 【返回】 按照升序排列返回整型数组中包含指定整数的元素 // // 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出 // // 示例 // 输入:num = {12345,654123,98764,123654,9876,4,6,97,8,123} value = 123 // // 返回:{123,12345,123654,654123} #include<IOSTREAM> using namespace std; bool subInt(unsigned int dest, unsigned int src); int compare(const void *p, const void *q) { return *(const int *)p - *(const int *)q; } int main() { unsigned int arr[10] = {12345,654123,98764,123654,9876,4,6,97,8,123}; unsigned int value = 123; qsort(arr, 10, sizeof(int), compare); for (int i=0; i<10; ++i) { if (subInt(arr[i], value)) { cout << arr[i] << " " ; } } cout << endl; cout << subInt(123654,123); } //功能:在目标整数dest中寻找子整型src,即判定dest中是否包含src //dest:目标整数 //src:指定的整数 (当src为0时,dest肯定包含的,因为123可看为0123) //return:包含就返回true,否则false bool subInt(unsigned int dest, unsigned int src) { unsigned int gewei1 = dest % 10; unsigned int gewei2 = src % 10; while (dest && gewei1 != gewei2) { //当dest不为0时,从其后往前,不断取个位,直到gewei1 == gewei2 或者dest==0 dest /= 10; gewei1 = dest % 10; } if (!dest) { if (!src) {//都为0,则表示二者一样 return true; } else return false; } else {//此时gewei1 == gewei2 do { dest /= 10; gewei1 = dest % 10; src /= 10; gewei2 = src % 10; } while (gewei1 == gewei2 && src); if (!src) { //src走到尽头 return true; } else return false; } }
相关文章推荐
- 2014华为机试题——取出整型数据中出现次数最多的元素,并按照升序排列返回
- 取出整型数据中存在指定整数的数据,并按照升序排列返回
- 华为OJ——输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- 【华为OJ】【052-输入整型数组和排序标识,对其元素按照升序或降序进行排序】
- 华为机试题:输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 一个链表L 一个链表P 包含升序排列的整数 操作PrintLots(L,P)将打印L中那些由P所指定的位置上的元素
- 华为oj中级 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序(华为OJ系列)
- 【Java】给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- 华为OJ——输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- range() 函数创建并返回一个包含指定范围的元素的数组
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 输入一组按降序排列的整数数组,再输入一个整数(sum),返回数组中和为sum的两个元素
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 给一个整数数组,对数组中的每个整数中的所有数字按照升序排列(如101排序后为011)请写一个方法,输出排序后的数组中的最大数。 例如有一个数组: 101、132、375,排序后11、123、357,
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 用3位以内的随机整数填充长度为20的整型数组,然后使用冒泡排序法按升序进行排序,输出排序后的数组元素(每行输出10个元素)。
- C++按照正态分布来排列整型数组元素