C++小练习题,很有趣!很简单!-- 001 (咋个办呢 zgbn)

C++小练习题 - 001

题目:编写程序,随机生成10个10到99之间的整数,存放在一维数组中,找出最小的元素,输出最小值及其所在元素的下标。

分析思想:数组就是带有带有下表有顺序的数据结构,要找出来最小值,用人脑来分析的最简单就是用眼睛从头到尾看一遍,然后找出就小的就可以了。
其实程序也是如此,从头到尾全部走一遍,但是程序不会像人脑一样可以记忆功能,所以我们点通过别的方法让程序有记忆。
算法:

数据:int arr[10] = [6(0),8(1),2(2),6(3),7(4),5(5),9(6),11(7),5(8),6(9),3(10)] ;(小标)

程序也是要从都到尾全变看一遍的,人脑分析,你自己想一下,是不是也是首先用其中一个数去和其他的去比较,然后遇到比他大的就看下一个,遇到比他小的就替换一下然后继续往下比较?

其实程序实现也是如此:

数据:int arr[10] = [6(0),8(1),2(2),6(3),7(4),5(5),9(6),11(7),5(8),6(9),3(10)] ;(小标)

首先我们拿出第一个值 6(0) 去个数组 arr[10] 里面所有的数从头到尾比较一次。我们吧这个比较值放到一个变量里面让程序记住它。

int c = 6(0) 或者 int c = arr[0] ; 这里我们叫C为标量,就是作为比较的值。

开始比较:

    int c = arr[0] = 6(0) ;
    int arr[10] = [6(0),8(1),2(2),6(3),7(4),5(5),9(6),11(7),5(8),6(9),3(10)] ;
    int c = arr[0] = 6(0) ;//这个值,是随意的,就是我们随便从数组中取出一个数,就认为他目前就是最小的。这里我就取第0个位置的数值出来。
    int n = 0 ;//这个值,就是上面随意从数组取出一个数的下标。

    for(int i=0 ; i < arr.length ; i++) {//用循环去遍历数组的每一个值
        //将每一个值去和标量做对比
        if(arr[i]<c){//如果当前数组的值小于标量c的值,说明这个目前是最小的,我们把这个值记录下来,保存在标量里面,以前的标量很显然不是最小的了,替换掉。
            c = arr[i] ;//同时记录下来当前的值在数组里面的坐标            
            n = i ;
        }
        else{//如果当前数组的值大于等于标量c的值,说明这个标量c目前还是是最小的,什么都不用做。

        }
    }
    //当整个循环结束之后,标量c就是数组里面最小的值了,n也就是这个值在数组里面的坐标。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值