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 ...
随机推荐
- CentOS On VirtualBox
背景 后台开发需要随时与服务器交互,本人使用Mac开发.但是不愿意在Mac上直接安装redis以及mysql等等工具.所以选择在VirtualenvBox下安装一个服务器系统,并且使用ssh与其连接. ...
- Atiti 数据库系统原理 与数据库方面的书籍 attilax总结 v3 .docx
Atiti 数据库系统原理 与数据库方面的书籍 attilax总结 v3 .docx 1.1. 数据库的类型,网状,层次,树形数据库,kv数据库.oodb2 1.2. Er模型2 1.3. Sql2 ...
- SpringAOP之动态代理
一.动态代理: 1.在原有的静态代理的基础上进一步的完善,由于静态代理中,重复写了相同的代码使得代码的整体结构显得冗余,而且还不同的核心类还需要有不用的代理类,是写死了的具体的类.所以需要使用动态代理 ...
- dd
1.属性 关键:get,set public class Account { private string id; private decimal money; public string Id { ...
- YY一下淘宝商品模型
淘宝的电商产品种类非常丰富,必然得力于其商品模型的高度通用性和扩展性. 下面我将亲自操作淘宝商品的发布过程,结合网上其他博客对淘宝网商品库的分析,简单谈谈我的理解. 注:下面不特殊说明,各个表除主键外 ...
- 让虚拟机的软盘盘符不显示(适用于所有windows系统包括Windows Server)
- 安装Ubuntu时分区选择
最近购买来一台二手笔记本.型号是:Dell Latitude D520.回来之后就装上来Ubuntu12.04,开始是安装的UbuntuKylin 13.04.不知道是机器配置不行,还是本身系统有点卡 ...
- MySQL存储过程及触发器
一.存储过程 存储过程的基本格式如下: -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名 ...
- CRL 版本2.2.0.0发布
重要更新: 增加了关联查询 优化了缓存查找效率 关联查询有以下两种形式 返回Select结果,结果为动态对象 将结果附加给当前对象索引值 关联查询有累加效果,可关联多个表可通过匿名对象指定返回的别名, ...
- 塞翁失马,焉知非福:由 Styles.Render 所引发 runAllManagedModulesForAllRequests="true" 的思考
最近在使用 MVC 开发的时候,遇到一个对我来说"奇怪的问题",就是使用 BundleTable 进行 CSS.JS 文件绑定,然后使用 Styles.Render.Scripts ...