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 ...
随机推荐
- [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写
一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...
- JS实战 · 收缩菜单表单布局
获取节点的两种方式: 1.通过event对象的srcElement属性: 2.通过事件源对象用this传入. 代码如下: <html> <head> ...
- [C#] Socket 通讯,一个简单的聊天窗口小程序
Socket,这玩意,当时不会的时候,抄别人的都用不好,简单的一句话形容就是“笨死了”:也是很多人写的太复杂,不容易理解造成的.最近在搞erlang和C的通讯,也想试试erlang是不是可以和C#简单 ...
- uwp 图片切换动画 使用帧动画
上一篇博客使用了Timer来实现图片的切换,@lindexi_gd讨论了一下性能,我本人其实对性能这一方面不太熟,但我觉得还是有必要考虑一下,那么今天我们使用帧动画开实现以下 新建项目,添加一个But ...
- 前端学PHP之变量
× 目录 [1]变量定义 [2]关键字 [3]变量赋值[4]可变变量[5]变量函数 前面的话 变量是用于临时存储值的容器.这些值可以是数字.文本,或者复杂得多的排列组合.变量在任何编程语言中都居于核心 ...
- MVC实用构架设计(三)——EF-Code First(6):数据更新最佳实践
前言 最近在整理EntityFramework数据更新的代码,颇有体会,觉得有分享的价值,于是记录下来,让需要的人少走些弯路也是好的. 为方便起见,先创建一个控制台工程,使用using(var db ...
- 1Z0-053 争议题目解析699
1Z0-053 争议题目解析699 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 699.Your database is using a default temporary ta ...
- hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存
二级缓存(sessionFactory): Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存.它可以缓存整个应用的持久化对象,所以又称为“SessionFactor ...
- servlet中用注解的方式读取web.xml中的配置信息
在学习servletContext的时候,我们知道了可以在web.xml中通过<context-param>标签来定义全局的属性(所有servlet都能读取的信息),并在servlet中通 ...
- 在ASP.NET MVC 中获取当前URL、controller、action
一.URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟 ...