使用C++语言设计一个函数,该函数传入一个一维整型数组的数组名和数组的长度(数组中的元素值在[0,100]之间,具体数据自行给定),要求在函数内部统计出数据在[0,10],[11,20],[21,30],…,[91,100]等区间的分布情况。 我们看一下[0,10],[11,20],[21,30],…,[91,100]区间的特点: 待更新1、有了理想,有了目标,有了奋斗,才会在未来的旅途中走得更远。
问题描述
解题思路
假设数组是arr,代表元素索引,则arr[i] / 10 便会落在区间0、1、2、3、4、5、6、7、8、9中的一个,这个数字正好是区间[0,10],[11,20],[21,30],…,[91,100]前半部分的首位数值,但是这里有特殊情况,就是10的倍数的时候,arr[i] / 10 会到下一个区间,因此我们只要把区间往前移动一个即可。最重要的是0最为特殊,因为0也是10的整数倍,但是0不需要移动空间,在判断是否是10的倍数时,把0要排除在外。代码实现
#include <iostream> using namespace std; int res[10] = {0}; void statistic(int arr[], int n) { for (int i = 0; i < n; i++) { if ((arr[i] % 10 == 0) && (arr[i] != 0)) { res[arr[i] / 10 - 1]++; } else { res[arr[i] / 10]++; } } } void show() { for (int i = 0; i < 10; ++i) { cout << res[i] << " "; } } int main() { int arr[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}; statistic(arr, 32); show(); return 0; }
结果显示
2、当一个人先从自己的内心开始奋斗,他就是个有价值的人。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算