C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。
作业的具体要求如下:
编写一个完整的程序,实现如下功能。
(1) 输入10个无序的整数。
(2) 用选择排序法将以上接收的10个无序整数按从大到小的顺序排序。
(3) 要求任意输入一个整数,用折半查找法从排好序的10个数中找出该数,若存在,在主函数中输出其所处的位置,否则,提示未找到。
提示:可定义input函数完成10个整数的输入,sort函数完成输入数的排序,search函数
完成输入数的査找功能。
下面是具体代码:(本人懒,没写注释,不过仔细看代码,还是很简单的)
#include <stdio.h>
#define N 10 // 13 34 3 15 26 18 19 14 30 24 int *input();
int *sort(int m[]);
void search(int m[],int c);
main()
{
int *a;
int i,k;
int m[N];
a=input();
for(i=;i<N;i++)
{
m[i]=*a;
a++;
}
a=sort(m);
printf("\n排序结果:\n");
for(i=;i<N;i++)
{
m[i]=*a;
a++;
printf("%d\n",m[i]);
} for(i=;i<;i++)
{ printf("请输入您想查找的数:");
scanf("%d",&k);
search(m,k);
} }
void search(int m[],int c)
{
int h,l,i;
for(h=,l=N;h<=l;)
{
i=(h+l)/;
if(c==m[i])
{
printf("是第%d个元素\n",i+);break;
}
else if(c>m[i])
l=i-;
else if(c<m[i])
h=i+;
}
if(h>l)
printf("无此元素");
return ;
}
int *sort(int m[])
{
int i,j;
int index,temp;
for ( i = ; i < N - ; i++)
{
temp = ;
index = i;
for ( j = i + ; j < N; j++)
{
if (m[index] < m[j])
{
index = j;
}
}
temp = m[index];
m[index] = m[i];
m[i] = temp;
}
return m;
}
int *input()
{
printf("请输入10个整数:\n");
static int m[N];
int i;
for(i=;i<N;i++)
{
scanf("%d",&m[i]);
}
return m;
}
C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。的更多相关文章
- js实现随机选取[10,100)中的10个整数,存入一个数组,并排序。 另考虑(10,100]和[10,100]两种情况。
1.js实现随机选取[10,100)中的10个整数,存入一个数组,并排序. <!DOCTYPE html> <html lang="en"> <hea ...
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...
- 用C语言指针作为函数返回值
转载:http://c.biancheng.net/cpp/html/3242.html C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlon ...
- C语言之冒泡排序、选择排序、折半查询、进制查表
菜单导航 1.冒泡排序 2.选择排序 3.折半查询 4.进制查表(十进制转二进制.八进制.十六进制) 一.冒泡排序 //1.冒泡排序 /** 一组无序数字,进行从小到大排序 冒泡排序的过程:就是每个循 ...
- Java数组直接选择排序、sort()排序
/** * 1.数组sort()排序 * 2.直接选择排序(两重for循环排序) */ import java.lang.*; import java.lang.reflect.Array; impo ...
- Java数组之选择排序
选择排序 package com.kangkang.array; import java.util.Arrays; public class demo04 { public static void m ...
- 使用C语言中qsort()函数对浮点型数组无法成功排序的问题
一 写在开头 1.1 本节内容 本节主要内容是有关C语言中qsort()函数的探讨. 二 问题和相应解决方法 qsort()是C标准库中的一个通用的排序函数.它既能对整型数据进行排序也能对浮点型数据进 ...
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
#include <iostream> #include <map> using namespace std; #define N 5 typedef struct point ...
- 用js实现随机选取10–100之间的10个数字,存入一个数组,并排序
var iArray = []; function getRandom(istart, iend) { var iChoice = iend - istart + 1; //加1是为了取到100 va ...
随机推荐
- Design and Analysis of Algorithms_Brute Froce
I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis ...
- opencv,图片遍历
//肤色提取,skinArea为二值化肤色图像 void skinExtract(const Mat &frame, Mat &skinArea) { Mat YCbCr; vecto ...
- fzuoj Problem 2129 子序列个数
http://acm.fzu.edu.cn/problem.php?pid=2129 Problem 2129 子序列个数 Accept: 162 Submit: 491Time Limit: ...
- JSON.stringify////////////////////////////////zzzzzzzzzzzzzz
JSON.stringify 语法实例讲解 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个类 ...
- JS 数组迭代方法
var arr = [3,4,5,6,7,"a"]; var isNum = function(elem,index,AAA){return !isNaN(elem);} var ...
- 打开QQ会话
Android:String url="mqqwpa://im/chat?chat_type=wpa&uin=123456";startActivity(new Inten ...
- java版模拟浏览器下载百度动漫图片到本地。
package javaNet.Instance.ImageDownload; import java.io.BufferedReader; import java.io.File; import j ...
- js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...
- 夺命雷公狗----Git---5---分支
git分支的概念相当于是添加一个属于自己的分支,别人是看不到的,等你写完自己的程序到时候在合并到团队的分支上即可.... 我们可以查看自己git里面有什么分支,如下所示: git branch 在这里 ...
- 【转】CentOS系统中常用查看日志命令
来源:http://www.centoscn.com/CentOS/help/2014/0310/2540.html Linux IDE RedHat 防火墙活动 .cat tail -f 日 志 文 ...