找出数组(10个数字)中的第二大或者第二小的值
1、第一步不用多说,先来个#include <stdio.h>,头文件是不能少的。注意,编写程序的时候要在英文输入法的状态下。
2、接着便是定义数组a[],最大值max1,第二士候眨塄大的值max2,最小值min1,第二小的值min2,以及变量iint a[]={这里面是填数字,注意剞麽苍足数字之间要用逗号隔开};int max1=a[0];//先把数组的第一个值赋值给max1;int max2=0;//max2的值赋值为0;int min1=a[0];//数组的第一个值赋值给min1;int min2=220;//min2的值赋值为220(220并不是固定的,随便多少都可以,只要比数组里最大的数字大就可以)inti;//定义变量i,为for循环服务;
3、定义完参数之后,就是for循环,因为要依次进行数字的比较。for(i=1 ;i<=9 ;i++);i=1是因为我在前面定义最大值的时候就将数组的第一个值赋值给它了,9是因为一共有10个数字,分别对应a[0]、a[1]、a[2]、a[3]......a[9]。
4、这里就是进行数字比较大小的代码了if(max1<=a[i]){max2=max1 ;max1=a[i] ;}//如果最大值小于等于数组里某个数值,则将原本max1的值赋值给max2,该数的值赋值给最大值max1。例如原本max1=a[0]=1、max2=0,现在假设a[1]=2,那么因为1小于2,所以 原本max1的值赋值给max2,则max2=1;该数的值赋值给最大值max1,max1=2。
5、else i酆璁冻嘌f (max1>a[i] ,max2<=a[i]){max2=a[i] ;}//如果最大值比数组的值大,但第二大的值没有这个值大,那么就将这个数值赋值给max2;if(min1>a[i]){min2=min1;min1=a[i];}else if(min1<=a[i] ,min2>=a[i]){min2=a[i];}//寻找第二小的代码与寻找第二大的差不多,只不过有一小部分不一样而已
6、最后就是将结果打印出来,使用printf。printf( "dierda:%d;dierxiao:%d \n “,max2 ,min2);//双引号里什么都可以写,不过因为max2、min2是int类型的,所以在打印的时候要使用%d。\n是换行符。
7、下面是代码截图