首页 > 其他分享 >建民打卡日记4.22

建民打卡日记4.22

时间:2023-04-22 12:34:19浏览次数:47  
标签:int mid 建民 查找 low printf 打卡 4.22

一、问题描述

输入N个数组成的有序数列,在数组中查找某个数的位置,若找到,输出下标,否则输出not found

二、流程设计

1.取数组最大值最小值下标high和low

2.将待查找数与中值比较,若小于中值则查找前半段,否则查找后半段

3.输出结果

三、流程图设计

四、代码实现

#include <iostream>
using namespace std;
#define N 10

int main() {
	int i, a[N] = {-3, 4, 7, 9, 13, 45, 67, 89, 100, 180}, low = 0, high = N - 1, mid, k = -1, m;
	for (i = 0; i < N; i++) {
		printf("%d", a[i]);
	}
	cin >> m;
	while (low <= high) {
		mid = (low + high) / 2;
		if (m < a[mid])
			high = mid - 1;
		else if (m > a[mid])
			low = mid + 1;
		else {
			k = mid;
			break;
		}
	}
	if (k >= 0)
		printf("m=%d,index=%d\n", m, k);
	else
		printf("Not be found!\n");
}

 

标签:int,mid,建民,查找,low,printf,打卡,4.22
From: https://www.cnblogs.com/cor0000/p/17341771.html

相关文章

  • 4.21打卡
    一、问越描述:编写用牛顿迭代法求方程更的函数。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主函数输出。牛顿迭代法的共识是:x=x0-f(x0)/f´(x0),设迭代到|x-x0|<=10e(-5).二、设计思路:1、输入系数a,b,cd;2、构造迭代函......
  • 打卡 计算捐款总量
    这里需要设计一个捐款人类Donator及一个相关函数getMaxName(),Donator类中包含捐款人的姓名及其捐款额,其部分代码如下:classDonator{private:stringname;//捐款人姓名floatmoney;//捐款金额,单位:元public:voidsetName(string_......
  • 每日打卡
    //#include<stdio.h>//#include<string.h>////#include<iostream>////usingnamespacestd;//chars[100];//inti,len;//intmain()//{// gets(s);// len=strlen(s);// for(i=0;i<len;i++)// {// if(islower(s[i]))// s[i]=toupper(s[i......
  • 2023.4.21编程一小时打卡
    一、问题描述: 定义时钟类,单目运算符前置++和后置++重载的成员函数:以时钟类的对象为操作数。对于前置单目运算符,重载函数没有参数,对于后置单目运算符,重载函数有一个int型参数。二、解题思路: 首先定义一个时钟类作为基类,再定义重载运算符的成员函数,最后在主函数中实现时钟类的......
  • c++打卡第十一天
    一、问题描述牛顿迭代法求方程根。编写一个函数用来实现牛顿迭代法求方程根。方程为为ax^4+bx*3+cx^2+dx+e=0,系数由系统输入,求x在1附近的一个实根,由主函数输出。x=x0-f(x0)/fd(x0),当x减去x0的绝对值小于等于1e-5即十的负五次方时,程序结束。二、设计思路。①一个简单的函数,......
  • 打卡第五条
    一、问题描述设计一座圆周率山已知圆周率为:3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930......
  • 打卡8
    1、冒泡排序法#include<stdio.h>#defineN10intmain(){inta[N],temp;printf("请为数组元素赋初值:\n");for(inti=0;i<N;i++)scanf("%d",&a[i]);for(inti=0;i<N;i++){for(intj=0;j<N;j++){if(a[j]>a[j+1]){temp=a[j+1];a[j+1]=a[j];a[j]=t......
  • 建民打卡日记4.21
    一、问题描述一对兔子从出生后三个月起每个月生一对兔子,小兔子三个月后每月生一对兔子,依次类推,假设所有兔子都不死,三十个月内每月兔子总量?二、设计流程1.设置前两个月的初值a,b2.将前两个月的总值赋给下个月c,并依次赋给a,b下个月的值,实现迭代3.输出c三、流程图设计四、代码......
  • 4.21打卡
     2.设计思路①依次列举出所有0~9的两位相同数字②在第一步的前提下依次列举出0~9的两位相同数字③将第一第二步中的四个数字组成的数进行开根,判断结果是否为整数后输出结果 3.程序流程图 4、代码实现#include<bits/stdc++.h>usingnamespacestd;intmain(){......
  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做完数问题描述完数是因子相加等于它本身的数字,求一个范围内的完数。设计思路遍历这个范围内的数字,求它的因子,然后判断是否为完数即可。流程图graphA[开始]-->B[inputN,i=2]-->C{i<=N}--Yes-->D[j=1,sum=0]-->E{j<=i/2}--Yes-->F{i%j==0}--Yes--......