btcq.net
当前位置:首页 >> C语言编程 求大神 从键盘输入一数,然后在一个整型一维数组A[20]中,用折半查找法找出该数 >>

C语言编程 求大神 从键盘输入一数,然后在一个整型一维数组A[20]中,用折半查找法找出该数

//1.cpp#include<stdio.h> int Pos(int *arr,int left,int right,int key) {//在闭区间[left,right]中查找key int mid=(left+right)/2; if(key==arr[mid])return mid; else if(left==right)return -1; if(key<=arr[mid])return Pos(arr,left,mid,key); else return Pos(arr,mid+1,right,

#include <stdio.h> int main() { int a[20]={16,15,18,1,12,57,10,9,38,7,6,5,4,32,2,1,,17,25,28,68}; int l=0,h=14,x,m; printf("输入数字:"); scanf("%d",&x); while(l<h) { m=(l+h)/2; if(x==a[m]) break; if(x>a[m]) h=m; else l=m; if ((l==h) && x!=a[h]) { printf("无此数"); return 0; } } printf("是第%d个元素",m+1); return 0; }

void seach() { int a[20]; int i,j,num; for(i=0;i<20;i++) a[i]=8+i; printf("input a number); scanf("%d",num); for(j=0;j<20;j++) if(a[i]=num) printf("Is%d",i); if(j=20) printf("NO found!") } 主要的思想是:从数组的第一个查找到最后一个,若数组中不存在,则j的值为20

#include int main() { int a[6]; int i; double sum=0,avg; for(i = 0;i scanf("%d",&a[i]); sum += a[i]; } avg = sum/6; printf("sum = %.0lf average = %.1lf\n",sum,avg); return 0; }

main() { int a[20],i,c,k=-1; for(i=0;i<20;i++)a[i]=2*i; printf(“已经产生了一个0~38之间的数组,请输入一个值查找=>”); scanf(“%d”,&c); for(i=0;i<20;i++) { if(a[i]==c) { k=i; break; } } if(k==-1)printf(“你输入的 %d 不在数组中.”,c); else printf(“%d 是第 %d 个数,地址是 %x .”,c,k,&a[k]); }

#include <stdio.h>#define LEN 50 void main() { int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0; printf("请个输入整型数组元素(输入0表示输入结束):\n"); for (j=0; j<LEN; j++) { scanf("%d", &a[j]); if (a[j] == 0) break; } min=max=a[0]; for (i=

int main(){ int a[100],i,x,n; printf("请输入整数个数"); scanf("%d",n); printf("请输入%d个整数",n); for(i=0;i 评论0 0 0

#include <stdio.h> int main() { int arr[20]; int sum=0,ave,max; int i; for(i=0;i<20;i++) { scanf("%d",&arr[i]); } max=arr[0]; for(i=0;i<20;i++) { sum+=arr[i]; if(arr[i]>max) { max=arr[i]; } } ave=sum/20; printf("总和为:%d\n平均值为:%d\n最大数为:%d\n",sum,ave,max); return 0; }

int main() { int a[100],i,x,n; printf("请输入整数个数"); scanf("%d",n); printf("请输入%d个整数",n); for(i=0;i<n;i++) scanf("%d",a[i]); printf("请输入要查询的数"); scanf("%d",x); for(i=0;i<n;i++) { if(a[i] == x) break; } if(i<n)printf("有数据%d",x); else printf("没有数据%d",x); return 0; }

#include int main() { int min = 0; int max = 0; int arr[20]; int i = 0; scanf("%d", &arr[i]); min = max = arr[0]; do { if(arr[i] > max) max = arr[i]; if(arr[i] min = arr[i]; scanf("%d", &arr[++i]); } while (i if(arr[i] > max) max = arr[i]; if(arr[i] min = arr[i]; printf("

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com