基于visual Studio2013解决C语言竞赛题之1059最大平台
题目
解决代码及点评
/*
功能:编写求最大平台问题的程序。
有n个整数a1,a2, ... an, 若满足a1≤a2≤ ... ≤ an ,
则认为在这n个数中有最大平台。在这种情况下,若n个数互不相同,
则最大平台值为1,若在n个数中最多有连续m个整数的值相等,则最大平台值为m。
例如: n=10时
1,2,3,4,5,6,6,7,4,5 无最大平台
1,1,2,2,2,2,2,2,2,2 最大平台值为8
1,1,2,2,2,3,3,4,4,5 最大平台值为3
0,1,2,3,4,5,6,7,8,9 最大平台值为1 时间:2:14 2013/10/26
*/ #include<stdio.h>
#include <stdlib.h> int judgHas59(int *a,int n); //判断是否有平台
int judg1(int *a,int n); //最大平台是否为1
int getBiggst(int *a,int n); //获取最大平台 void main()
{
const int N=10;
int a[N];
for(int i=0;i<N;i++)scanf_s("%d",&a[i]); //给数组赋值,0-10 if (judgHas59(a,N)==1) //判断是否有平台
{
if (judg1(a,N)==1) //判断最大平台是否唯1
{
printf("The biggest platform is 1\n");
}
else
{
printf("The biggest platform is %d\n",getBiggst(a,N)); //获取最大平台
}
}
else
{
printf("No platform");
}
system("pause");
} int getBiggst(int *a,int n)
{
int max=0;
for (int i=0;i<n;i++)
{
int s=0;
for (int j=0;j<n;j++)
{
if(a[i]==a[j])s++;
}
if(s>max)max=s; //将当前最大平台赋给max
}
return max;
} int judg1(int *a,int n)
{
for (int i=0;i<n-1;i++)
{
if(a[i]==a[i+1])return 0;
}
return 1; //表示最大平台为1
} int judgHas59(int *a,int n)
{
for (int i=0;i<n-1;i++)
{
if(a[i]>a[i+1])return 0;
}
return 1;
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn
基于visual Studio2013解决C语言竞赛题之1059最大平台的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
- 基于visual Studio2013解决C语言竞赛题之0408素数
题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...
- 基于visual Studio2013解决C语言竞赛题之0407最大值最小值
题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之0406数列求和
题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...
- 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...
- 基于visual Studio2013解决C语言竞赛题之0404循环求和
题目 解决代码及点评 这道题考验for循环和一个简单的算法 因为每次累加的值有规律,后面一次累加是前面一次累加的两倍 所以可以用简单的循环,计算累加项和累加结果 /************ ...
随机推荐
- BZOJ-1007-水平可见直线-HN2008
描写叙述 在xoy直角坐标平面上有n条直线L1,L2,-Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的. 比如,对于直线: L1:y=x; L2:y=- ...
- String类的一些方法
String 类有以下方法: startsWith(String prefix) boolean java.lang.String.startsWith(String prefix) Tests if ...
- xzzx
创建包: CREATE OR REPLACE PACKAGE WYL_TEST_PKG_GGYW_XZZX IS -- Purpose : 公共业务-参保险种注销 --注销选择的险种,并将参保缴费信息 ...
- u-boot分析——struct gd_t与struct bd_t
gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递.分别定义在./include/asm/global_data.h和./include/asm/u ...
- win32多线程程序设计笔记(第五章)
前面章节介绍了线程创建等过程,现在的问题是:如何在某个线程内终止另外一个正在运行的线程? windows核心编程中提到终止运行线程的方法: 1)线程函数自己返回: 2)线程通过调用ExitThread ...
- Dreamer2.1 发布 新增将Bean解析成xml和json
一个上午,增加两个功能 1.直接将对象解析成XML 2.将对象解析成JSON 对象可以是数组,可以是集合,也可以是单个对象 源码和jar下载地址:http://pan.baidu.com/share/ ...
- java里,当long与上了int
long switchState = 0xf0000000000L; int result = (switchState & 0xff00000000L) > 0 ? 0x01 : 0x ...
- 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及project等领域都很重要的概率分布,在统计学的很多方面有着重大的影 ...
- Android的BUG(一) - HTML 5 播放streaming video造成卡住的问题
这个bug,是google自带的问题. 和见到的诸多android的疑难问题一样,这又是一个可以归类为 多线程同步/状态机 问题. 问题处在NuPlayer的异步消息的handle中,现象和原因不细说 ...
- Android - Mac系统Android程序位置
Mac系统Android程序位置 本文地址: http://blog.csdn.net/caroline_wendy Mac系统是类Unix系统.Android程序直接安装至目录.能够使用" ...