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 ...
随机推荐
- 久违的问候-----eclipse中搭建maven项目2016年
好久没有写过博客了,可是一直向别人推荐自己的博客,深感惭愧!今天再次在寒冷之夜继续code,config,write. 接下来,我们就来谈下eclipse中搭建maven web工程的步骤!虽然就是一 ...
- 开源一个练手小App, PrintableCheckList
A small but powerful App, only focus on one thing, make you easy to print out your checklist. It is ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能
在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...
- [译]AngularJS $apply, $digest, 和$evalAsync的比较
原文:The differences between AngularJS $apply, $digest, and $evalAsync 你是不是也常在想AngularJS $apply, $dige ...
- junit测试,使用classpath和file 加载文件的区别
用junit测试发现一个问题,怎么加载配置文件?一直都出现这样的错误 ERROR: org.springframework.test.context.TestContextManager - Caug ...
- The currently selected variant "arm-debug" uses split APKs, but none of the 1 split apks are compatible with the current device with density "213" and ABIs "x86".
出现这种错误一般是在电脑上用模拟器运行APK的吧. 可以在build.gradle中这样配置下: android{ ... defaultConfig { applicationId "XX ...
- MongoDB 搭建副本集
副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成.通过Replication,将数据的更新由Primary ...
- 由于Replication,DBCC Shrink不能收缩Log File
使用Backup创建测试环境之后,发现testdb的Log File过大,达到400GB,由于测试环境实际上不需要这么大的Log Space,占用400GB的Disk Space实在浪费Disk Re ...
- .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
下拉刷新很多地方都用到了,新浪微博,微信,百度新闻 这里我们使用一个开源的库叫:PullToRefresh 开源地址:https://github.com/chenyoca/pull-to-refre ...
- .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建
闲来没事做,还是想再学习一门新的技术,无论何时Android开发比Web的开发工资应该高40%,我也建议大家面对移动开发,我比较喜欢学习最新版本的,我有java的基础,但是年久,已经淡忘,以零基础学习 ...