题目
解决代码及点评
/*功能: 编写子函数, 求一维整型数组M[10]的最大值及次最大值(次最大值可能不存在)。 主函数中输入10个整数, 然后调用上述子函数, 若次最大值存在, 则输出最大值及次最大值, 否则输出最大值及'NO'(输出也在主程序中实现) 时间:8:55 2013/10/25*/#include#include #define N 10void getMaxFirst61(int a[],int n,int *max1); //将最大值赋给*max1void getMaxSecond61(int a[],int n,int *max2); //判断是否存在次大值,存在打印次大值,不存在打印Novoid main(){ int a[N]; for(int i=0;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 *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)拷贝代码与运行
程序运行结果
代码下载
解压密码:c.itcast.cn