问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言 编写程序 使用递归

发布网友 发布时间:2022-05-13 09:48

我来回答

1个回答

热心网友 时间:2023-10-05 09:15

#include <stdio.h>
void SelectionSort(int *a, int n)//选择排序
{
int i,j;
int min;
int t;
for(i = 0; i < n-1; i ++)
{
int min = i;
for(j = i+1; j < n; j ++)
if(a[min] > a[j])
{
min = j;
}
t = a[min];
a[min] = a[i];
a[i] = t;

}
}
int binarySearch(int a[],int low,int high ,int x)//递归折半查找
{
int mid ;
if(low <= high)
{
mid = (low + high)/2;
if(x < a[mid])
binarySearch(a,low,high-1,x);
else
if(x > a[mid])
binarySearch(a,low+1,high,x);
else
return mid;

}
else
return -1;
}
int main(void)
{
int i,j;
int x;
int a[11];
int index;
for(i = 0; i < 10; i++)//输入十个数
scanf("%d",&a[i]);
SelectionSort(a,10);//选择法进行升序排列
printf("排序后的数组:");
for(i = 0; i < 10; i++)//输出数组
printf("%d ",a[i]);
printf("\n输入要查找的x:");
scanf("%d",&x);
index = binarySearch(a,0,9,x);
if(index != -1)
printf("%d在数组内,下标识index= %d\n",x,index);//x在数组内则输出x的下标
else //若不在,则插入数组中
{

for(i = 0; i < 10;i++)
if(x < a[i])
break;
for(j = 9; j>=i; j--)
{
a[j+1] = a[j];
}
a[j] =x;
printf("x插入后的数组为:\n");
for(i = 0; i < 11; i++)//输出插入x后的新数组
printf("%d ",a[i]);
}

system("PAUSE");
return 0;

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
立秋后钓鱼什么风向好-立秋钓鱼风向怎么选 赱乂砉込儬 怎么读 "赱"读什么? 解决电脑无法搜索到iPhone热点的问题如何修复iPhone热点无法在电脑上显... 电脑搜不到iphone12热点 iphone开热点给电脑搜不到 国企的地产有哪些 国企下设公司是什么意思? 红加蓝加绿是什么色. 梦幻西游75级开三倍抓鬼一轮有多少经验 用C++语言编写程序,递归函数 编写程序,用递归的方法求1+2+3+…+n,可设递归函数为fun5()。(1)递归结束条件为n=0_百度问一问 中级会计财务管理一个书上例题 中级会计的一道例题,没看明白,求指点。 我要买会计中级习题 中华和东奥 哪个好、 (长期股权投资转换 中级会计实务例题) 中级会计师,中级会计实务例题5我怎么看不懂。?求解题思路,给30分高分!! 中级财务会计习题1 汽车除了点烟口有别的地方可以接usb充电吗? 如何找回以前的? 中级会计 财务管理例题 (跪求) 如何找回以前的? 汽车上的USB,这样我怎么在车上充电 以前用的怎么才能找回来? 怎样找回原来注册的 一个手机号码注册了两个之前那个微信怎么找回来? ins怎么交外国朋友?!!!为啥没有像微博那些那样可以私信什么的!!!在ins上看到好像认识的外 ins只有互相关注才能发私信么? 一个手机号码注册了两个之前那个微信怎么找回来? 越南语油条怎么说 C语言怎样用递归方法编写程序 求s=1!+2!+3!+...10! 编程序,用递归函数 c语言程序设计问题(递归) c语言编程问题,循环+递归 c语言:用递归方法编写程序,求n阶勒让德多项式的值 编程一个C语言程序,使用递归方法,输入两个数,采用辗转相除法来计算最大公约数 编写递归函数将一个整数逆序输出,求C程序 中信证券至信版和中信建投有什么区别? 中信证券至信版的介绍 编写程序,用递归法将一个十进制整数转换成二进制数。 中信证券至信版的软件简介 如何为中信证券至信版增加一个自选股2 中信证券至信版 如何修改密码 分红型保险退保 中信证券至信手机版如何才能下载 在单片机中,什么是补码?最好能给出定义和例子,谢谢 补码的准确定义 怎么取消电脑的密码 行李箱密码忘记了,怎么办 解放军军衔一杠三星是代表什么?