2个很有趣、耐思考的C语言算法
1.
输入10个整数,任意相邻的两个数不同,输出所有的递增,递减序列
比如:
输入:1 5 9 8 12 21 3 0 -1 9
输出:
1 5 9
9 8
8 12 21
21 3 0 -1
-1 9
实现代码如下:
# include <stdio.h>
int main(int argc, const char * argv[]) {
int nu[10];
int i,j;
for(j=0;j<10;j++)
{
scanf("%d",&nu[j]);
}
printf("%d ",nu[0]); //第一位先打印
for(i=1;i<10-1;i++)
{
printf("%d ",nu[i]);
/**从第二数起比较它的前一个数后后一位数,如果出现大于小于或小于大于就换行*/
if(((nu[i]>nu[i-1]) && (nu[i]>nu[i+1])) || ((nu[i]<nu[i-1]) && (nu[i]<nu[i+1])))
{
printf("\n"); //每次进来都先打印
printf("%d ",nu[i]);
}
}
printf("%d\n",nu[9]); //最后一位后面再打印
return 0;
}
2.
输入10个整数,找出出现次数最多的数 (如果多个并列,则按数字出现顺序分别输出)
输入:1 5 27 33 24 1 27 18 19 20
输出:
1 27
实现代码如下:
# include <stdio.h>
int main(int argc, const char * argv[]) {
int nu[10];
int bz[10];
int i,j,k,l,m;
int max;
int flaga=1,flagb=0;
/**输入十个数*/
for(i=0;i<10;i++)
{
scanf("%d",&nu[i]);
}
/**用一个数组记录每一个数出现的次数*/
for(j=0;j<10;j++)
{
for(k=j+1;k<10;k++)
{
if(nu[j] == nu[k])
{
flaga++;
}
}
bz[j]=flaga;
flaga=1;
}
/**通过记录次数的数组找出出现次数最多的下标*/
max=bz[0];
for(l=1;l<10;l++)
{
if(max<bz[l])
{
max=bz[l];
flagb=l;
}
}
/**通过下标找出bz[]数组中最大的的数值,bz[]中最大的数值与bz[]每一个数值比较,相等证明出现的最大次数相同*/
for(m=0;m<10;m++)
{
if(bz[flagb] == bz[m]) //最大次数与其它次数比较
{
printf("%d ",nu[m]);
}
}
return 0;
}
2个很有趣、耐思考的C语言算法的更多相关文章
- 一个很有趣的示例Spring Boot项目,使用Giraphe CMS和Spring Boot
6: 这是一个很有趣的示例Spring Boot项目,使用Giraphe CMS和Spring Boot. Giraphe是基于Spring Boot的CMS框架. https://github.co ...
- (转) 机器学习很有趣Part6:怎样使用深度学习进行语音识别
本文转自:http://www.jiqizhixin.com/article/2321 机器学习很有趣Part6:怎样使用深度学习进行语音识别 2017-02-19 13:20:47 机器学习 ...
- 我从腾讯那“偷了”3000万QQ用户数据,出了份很有趣的独家报告!
声明: 1.目前程序已停止运行!QQ空间也已升级访问安全机制. 2.本“分析”数据源自部分用户的公开信息,并未触及隐私内容,广大网友无需担心. 3.QQ空间会不定期发布大数据分析报告,感兴趣的朋友关注 ...
- java 基础题 很基础, 很有趣
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底, 老手们就不用进来了,免得笑话我们这些未出校门的孩纸们, ...
- 很有趣的Java分形绘制
部分与整体以某种形式相似的形,称为分形. 首先我们举个例子: 我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可 ...
- Hills——一道转移方程很“有趣”的线性DP
题目描述 Welcome to Innopolis city. Throughout the whole year, Innopolis citizens suffer from everlastin ...
- CODEVS上一道很有趣的题(2145 判断奇偶性)
判断函数y=x^n次方的奇偶性若是奇函数就输出ji,偶函数输出ou 233333 用到了long long 还是爆了,于是就上了char a[1000000] =.= #include<stdi ...
- Android之一种很有趣的界面跳动提示动画
上一个效果图: ==================================== 先上布局: <RelativeLayout xmlns:android="http://sch ...
- POJ 1797 【一种叫做最大生成树的很有趣的贪心】【也可以用dij的变形思想~】
题意: 给一个无向图,找1到n所有的路中每条路最小权值的最大值! 屌丝一开始的思想是利用dij的变形~ 但是==屌丝忘记了更新dis数组~结果TLE无数次... 说正经的~dij的变形思想是这样的if ...
随机推荐
- K-均值聚类算法
K-均值聚类算法 聚类是一种无监督的学习算法,它将相似的数据归纳到同一簇中.K-均值是因为它可以按照k个不同的簇来分类,并且不同的簇中心采用簇中所含的均值计算而成. K-均值算法 算法思想 K-均值是 ...
- PHPCMS后台密码忘记解决办法
什么是PHPCMS? PHPCMS是一款网站管理软件.该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计.开发与维护.它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各 ...
- Atitit learn by need 需要的时候学与预先学习知识图谱路线图
Atitit learn by need 需要的时候学与预先学习知识图谱路线图 1. 体系化是什么 架构 知识图谱路线图思维导图的重要性11.1. 体系就是架构21.2. 只见树木不见森林21.3. ...
- SSIS Data Flow 的 Execution Tree 和 Data Pipeline
一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...
- SQL Server中的高可用性(1)----高可用性概览
自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL ...
- 解密jQuery内核 DOM操作的核心函数domManip
domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...
- Android入门(二十二)解析JSON
原文链接:http://www.orlion.ga/687/ 解析JSON的方式有很多,主要有官方提供的 JSONObject,谷歌的开源库 GSON.另外,一些第三方的开源库如 Jackson.Fa ...
- 使用HTML5里的classList操作CSS类
在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋 ...
- Hibernate的数据查找,添加!
1.首先看一下测试数据库的物理模型 2.测试所需要的Hibernate的jar包 3.数据库的sql /*=============================================== ...
- 通过setTimeout来取消因大量计算造成的网页卡顿
js是单线程的,所以有些大量计算的操作会占用线程资源,导致页面卡住. 今天遇到这样一个场景,选择一个下拉框之后,对数据进行筛选,这个过程中有大量计算,点了selecte的option之后,option ...