基于visual Studio2013解决C语言竞赛题之1061最大值和次最大值
题目
解决代码及点评
/*
功能: 编写子函数, 求一维整型数组M[10]的最大值及次最大值(次最大值可能不存在)。
主函数中输入10个整数, 然后调用上述子函数, 若次最大值存在, 则输出最大值及次最大值,
否则输出最大值及'NO'(输出也在主程序中实现) 时间:8:55 2013/10/25
*/ #include<stdio.h>
#include <stdlib.h> #define N 10 void getMaxFirst61(int a[],int n,int *max1); //将最大值赋给*max1
void getMaxSecond61(int a[],int n,int *max2); //判断是否存在次大值,存在打印次大值,不存在打印No void main()
{
int a[N];
for(int i=0;i<N;i++)
scanf_s("%d",&a[i]); int maxFirst=a[0]; //初始化最大值
int maxSecond=a[0]; //初始化次大值 getMaxFirst61(a,N,&maxFirst); //调用函数获取最大值
printf("\n\nThe largest number is %d\n",maxFirst); //打印最大值 getMaxSecond61(a,N-1,&maxSecond); //调用函数获取次大值,如果不存在打印No,存在打印次大值 system("pause");
} void getMaxSecond61(int a[],int n,int *max2)
{
int flag=1;
for(int i=0;i<n-1;i++)
{
for (int j=i+1;j<n;j++)
{
if (a[i]==a[j])
{
flag=0;
break;
};
}
}
if (flag==0)
{
printf("No!");
}
else
{
for(int i=0;i<n;i++)
{
if(a[i]>*max2)
*max2=a[i];
}
printf("The max of low than maxfirst is : %d",*max2);
}
} void getMaxFirst61(int a[],int n,int *max1)
{
int s=0;
for(int i=1;i<n;i++)
{
if(a[i]>*max1)
{
*max1=a[i];
s=i;
}
}
//将最大值与最后一个元素交换
a[s]=a[s]+a[n-1];
a[n-1]=a[s]-a[n-1];
a[s]=a[s]-a[n-1];
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn
基于visual Studio2013解决C语言竞赛题之1061最大值和次最大值的更多相关文章
- 基于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循环和一个简单的算法 因为每次累加的值有规律,后面一次累加是前面一次累加的两倍 所以可以用简单的循环,计算累加项和累加结果 /************ ...
随机推荐
- Unity KillCount
using UnityEngine; using System.Collections; public class KillCountMult : MonoBehaviour { public GUI ...
- 菜鸟系列之C/C++经典试题(七)
找含单链表的环入口点 :怎样推断单链表中是否存在环(即下图中从结点E到结点R组成的环)? ,则在low进入环后继续绕环遍历一周之前fast必定能与low重合(且必定是第一次重合).于是函数可写例如以下 ...
- G - I Think I Need a Houseboat(简单题,粘贴下来是因为数据精度需要注意)
These will be floating point numbers:看这句话,就是说数据会是浮点型的, 问题(一)数据定义成double类型就过了 我当时以为定义成float类型就可以了, 因为 ...
- C语言,调试必备的DEBUG宏定义
1. #include <stdio.h> #include <stdarg.h> //仅仅是打印函数名字替换 DEBUG <--> printf #define ...
- Hibernate 笔记1
Hibernate表generator标签的作用,如下图,
- sql执行疑问
遇到一个奇怪的事情,学习执行计划的时候写了这么一个sql来看执行计划的执行顺序, SELECT COUNT(*) FROM SIC84 WHERE AAC001 IN (SELECT AAC001 F ...
- ZOJ 1450 Minimal Circle 最小圆覆盖
套了个模板直接上,貌似没有随机化序列 QAQ //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #in ...
- Chapter 9 原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 简单的说就是clone一个对象实例.使得clone出来的copy和原有的对象一模一样. 插一个简单使用clone的例子,如果 ...
- 基于FPGA的DW8051移植(三)
总结一下问题: 1) http://www.cnblogs.com/sepeng/p/4137405.html 基于FPGA的DW8051移植(一)里面用modelsim观测波形发现程序进入了ida ...
- 关于QuartusII对ram块的综合
之前在看Altera的官方教程上就有说明,如果我们定义一个reg [`word_w]user_ram[`word_d] ; QuartusII会自动综合成为一个ram—— 当然有一些前提:(后续补充 ...