主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...
数组元素移动
【问题描述】调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数
【输入形式】a0,b1,b2,a1,a2,b3,a3,a4
【输出形式】a0,a1,a2,a3,a4,b1,b2,b3
【样例输入】1,2,33,8,5
【样例输出】1,33,5,2,8
代码:
#include
int main()
{
int a[100];
int n=100,i,j,count=1,m;
for(i=0;i
{
scanf("%d",&a[i]);
char c=getchar();//getchar函数,从键盘的缓冲区中得到一个字符常量并赋值给c
if(c=='\n') //当键盘输入回车时结束输入输入
{
break;
}
count++;
}
scanf("%d",&m);
for(i=0;i<=count;i++)
{
for(j=i+1;j<=count;j++)
{
if(m==(a[i]+a[j]))
{
printf("%d %d",a[i],a[j]);
i=count+1; break;
}
}
}
printf("\n");
return 0;
}
排序问题
【问题描述】
输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。
【输入形式】
一个升序排序的数组以空格隔开,以及一个目标数字,换行输入
【输出形式】
如果存在数组中两个数字和为目标数字,则输出数字对;
如果存在多个满足条件的数字对,输入一对即可;
不存在则不输出;
【样例输入】
1 2 4 7 11 15
15
【样例输出】
4 11
【样例说明】
4+11=15
【评分标准】
时间复杂度必须为 O(n),否则酌情给分。
#include
int main()
{
int a[100],b[100],c[100];
int i,count=0,j=0,k=0;
char s;
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
char c=getchar();
if(c=='\n')
break;
scanf("%c",&s);
count++;
}
for(i=0;i<=count;i++)
{
if(a[i]%2==1||a[i]%2==-1)
{
b[j]=a[i];
j++;
}
if(a[i]%2==0)
{
c[k]=a[i];
k++;
}
}
printf("%d",b[0]);
for(i=0;i
printf(",%d",b[i]);
for(i=0;i
printf(",%d",c[i]);
printf("\n");
return 0;
}
猴子选大王问题
【问题描述】
N只猴子选大王,选举方法如下:所有猴子按1,2,3,… ,N编号围坐一圈,从第1个猴子开始报数,报到M号退出圈外,如此循环报数,直到圈内只剩下一个猴子,即为大王。编程输出大王的原始序号。N和M的值由键盘输入。如果你想成为剩下的那一个,在N一定的情况下,你应该站在什么位置上?编程实现位置的求解。
【输入形式】
输入两个数字N和M,N为猴子的个数,M为报到后退出圈外的数字。
【输出形式】
显示最后剩下的猴子的原始序号。
【样例输入】
5 3
【样例输出】
4
【样例说明】
共5个猴子围成一圈,报到3号退出圈外,最后留下的猴子的原始编号为4
【评分标准】
当输入的M,N不合法时应当给出错误提示“请输入合法的M,N值!”。
#include
int main()
{
int n,m;
int last = 0;
scanf("%d %d",&m,&n);
if(n<1 || m<1 )
{
printf("请输入合法的M,N值!\n");
}else{
for (int i=2;i<=m;i++)
{
last = (last+n)%i;
}
printf("%d\n",last+1);
}
return 0;
}
主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...相关推荐
- 约瑟夫环c语言出现段错误,算法竞赛入门经典 紫书 第四章
一点小问题 关于判断素数的几点 //该函数有严重缺点: //不能用于n==1和n较大的情况 //在n接近int的最大值时: //若i=46340时,i*i=2147395600//若i=46341时, ...
- 框图c语言程序,C语言程序设计框图
<C语言程序设计框图>由会员分享,可在线阅读,更多相关<C语言程序设计框图(86页珍藏版)>请在人人文库网上搜索. 1.第三章控制结构,返回总目录,目录,3.1节目结构框,3. ...
- 猴子选王c语言链表程序代码,数据结构(C语言)用栈和链表编写猴子选大王程序...
<数据结构(C语言)用栈和链表编写猴子选大王程序>由会员分享,可在线阅读,更多相关<数据结构(C语言)用栈和链表编写猴子选大王程序(3页珍藏版)>请在人人文库网上搜索. 1.i ...
- C语言商品打折算法编程,折扣日 | 算法竞赛入门必备的 《 C++ 程序设计》
原标题:折扣日 | 算法竞赛入门必备的 < C++ 程序设计> 福利周周有 折扣日又来啦! 蒜蒜又带来了新的折扣课程 经过一周的投票 大家期待的 < C++ 程序设计(竞赛版)> ...
- c语言-猴子选大王-约瑟夫问题(队列,链表,数组)
猴子选大王 前言:初读此题,根据题意,顺势想到了用刚学的数据结构中的循环队列及循环链表,便想借此来熟练一下新学知识. 题目描述: 一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位 ...
- 插入法排序c语言程序,C语言之插入排序算法
一.什么是直接插入算法? 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列. 选择 ...
- 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...
- 二分法查找c语言程序_C语言的那些经典程序 第十四期
戳"在看"一起来充电吧! C语言的那些经典程序 第十四期 本期小C给大家带来三个用C语言解决实际问题的典例.如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧! ...
- 用直接分解法求方程组的C语言程序,c语言编程求解线性方程组论文
计算机编程求解线性方程组 第一章 绪 论 在自然科学.工程技术.经济和医学各领域中产生的许多实际问题都可以通过数学语言描述为数学问题,也就是说,由实际问题建立数学模型,然后应用各种数学方法和技巧来求解 ...
最新文章
- 统一沟通-技巧-11-Lync-联盟-1-MSN
- JAVA WEB篇1——初识JAVAWEB
- 自动推荐图表、智能分析,这个新出的分析工具有点酷!
- mysql view在测试过程的应用
- 中国的城市看多了,贴贴美国的城市,肯定对你的视觉产生冲击
- 【计算机网络】简单网络管理协议 SNMP
- 比较好的浏览器_一款安卓黑科技手机浏览器 体积很小,功能很6!
- wordpress rest api 登录_Python构建RESTful网络服务[Django篇:生成API文档]
- 用2008系统安装k3服务器,金蝶K3SQL-Server-2008-R2安装方法介绍
- 计算机考研除了专业课还要学什么时候,计算机考研专业课什么时候开始看
- 那些年,我们一起追过的球队
- 小程序与bmob后端云
- java打印星型_初识java java入门知识 基础知识 打印各种星型图形 源代码
- python与人工智能:KNN近邻法识别手写数字
- 用机械键盘敲代码会不会更带感 ?送 9 套雷柏机械键盘
- 软件配置管理岗位职责说明
- python实例练习(15)搜索关键词自动提交
- ERP(会计)-主要会计科目表名称
- select SCM type and URL 用m2e插件从svn导出maven项目
- 淘宝官方订单API接口,获取售出的商品订单列表(爬虫数据)