当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言编程题:初始化一个已排序的整型数组用二分法查找其中是

更新:01-02 整理:39baobao.com
字体:

[c语言编程题某工种按小时计算工资每月劳动时间小时每小时]#include <stdio.h> int main() { int hours; float wage; float salary; scanf("%d%f",&hours,&wage); salary=hours*wage*(1-0.1); printf("the salary should be $f\n",salar...+阅读

#include

#include

void Sort(int a[],int n) {

int i,j,k;

int num;

for(i = 0; i < n - 1; ++i) {

k = i;

for(j = i + 1; j < n; ++j)

if(a[k] > a[j]) k = j;

if(k != i) {

num = a[k];

a[k] = a[i];

a[i] = num;

}

}

}

int BinFind(int a[],int n,int num) {

int mid,start = 0;

int end = n - 1;

if(a[start] == num) return start;

if(a[end] == num) return end;

while(start < end) {

mid = (start + end)/2;

if(a[mid] == num) return mid;

else if(a[mid] > num) end = mid - 1;

else start = mid + 1;

}

return -1;

}

int main() {

int a[] = {3,6,9,4,8,7,21,12,23,24,25,2,92,10,11,19,5};

int pos,i,num = 5;

int n = sizeof(a)/sizeof(a[0]);

pos = BinFind(a,n,num);

printf("排序前:\n");

for(i = 0; i < n; ++i) printf("%d ",a[i]);

printf("\n");

if(pos >= 0) printf("s[%d] = %d\n",pos,num);

else printf("没找到数值%d,对不起。\n",num);

Sort(a,n);

printf("排序后:\n");

for(i = 0; i < n; ++i) printf("%d ",a[i]);

printf("\n");

pos = BinFind(a,n,8);

if(pos >= 0) printf("a[%d] = %d\n",pos,8);

else printf("没找到数值%d,对不起。\n",8);

return 0;

}

本文地址:https://www.39baobao.com/show/29_19389.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

用c语言编程输入10个整数计算平均值并统计其中奇数个数#include <iostream> using namespace std; int main(void) { int num=0, //输入的每一个整数 odd=0; //奇数来的个数 double sum=0; //计算总自数百 const int AMOUNT=10; //输...

求C语言编程序谢谢谢谢!#include<stdio.h> #define N 8 int main() { int i,n; int a[N]={1}; int b[N]={1}; for(n=1;n<=N;n++) { for(i=0;i<N-n;i++) printf(" "); for(i=0;i<n;i++) printf("%c ",a[...

c语言编程:输入n个数求n个数中的偶数和及平均值1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <stdio.h> intmain() { intn,i,s = 0,m = 0,v; floata = 0.0; printf("Input n:"); scanf("%d",&n); m =...

c语言编程先输入一个整数n在输入n个整数求这n个数的平均值void main() { int n,sum=0; double avg; printf("input number :n --->"); scanf("%d",&n); for(int i=1,y=0;i<=n;++i) { printf("input the %d number ->",i); scanf("%d",&y); s...

C语言编程的常用语句C语言控制语句①条件语句:if—else语句 ②开关语句:switch语句 ⑧当循环语句:while语句 ④直到循环语句:do—while语句 ⑤计数循环语句:for·语句 ⑥中止本次循环语句:continue语...

一个C语言编程题目请高手指点可以参考以下:1.程序分析: 2.程序源代码: #definenmax50 main() { inti,k,m,n,num[nmax],*p; printf("pleaseinputthetotalofnumbers:"); scanf("%d",&n); p=num; for(i=0;i *(p+i)...

单片机实验汇编语言编程明天要用程序了求程序先写三个预置数据的程序: (1) MOV 50H, #32H MOV 51H, #41H MOV 52H, #01H MOV 53H, #56H MOV 54H, #11H MOV 55H, #03H(2) MOV 50H, #95H MOV 51H, #01H MOV 52H, #02H MOV 53...

汇编语言编程:两个数相乘的实验(R2R3)(R6R7)乘以两个16位的无符号数,结果(R4R5R6R7) MOV A,R3 MOV B,R7 MUL AB XCH A ,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R5 MOV R4,一个 CLR A ADDC A,B 一个 MOV A,R6 MOV...

在C语言编程中数据结构与算法是怎么体现的或者说怎么理解数据结举个例子,你写个程序,要存全校学生的信息。 首先学生数量可能是变动的,你不可能写成固定数组。 你可以思考下怎么存。 这时候就可以建立一个链表,在每次输入一个新生时把他挂入...