本文目录一览:
1、C语言最大和次大
2、用c语言找最大值和最小值
3、C语言如何求次大值
4、用c++方法求一组数中最大和次大的数
5、c语言找最大值
C语言最大和次大
#include<stdio.h>
void main()
{
int i,t1,t2,n,num,max1,max2;
scanf("%d",&n);
while(n!=0)
{
max1 = max2 = 0;
t1 = t2 = 0;
for(i=1;i<=n;i++)
{
scanf("%d",&num);
if(num > max1)
{
t2 = t1;
t1 = i;
max2 = max1;
max1 = num;
}
else if(num > max2)
{
max2 = num;
t2 = i;
}
}
printf("%d %d\n",t1,t2);
scanf("%d",&n);
}
}
基本思想:先找第一大的,并用t1保存它的位置,如果某数比第一大还大,则第一大的就成为第二大的,则将相应的第一大变为那个数;并且序号也发生改变。本程序中t1、t2分别保存两个序号,还要注意一下,如果一开始就找到了一个最大的,那找次大的就相当于从剩下的找一个最大的,就是else语句的作用了。
用c语言找最大值和最小值
用指针求含有十个元素的数组最大值和最小值
主函数参考:
int main()
{
int a[10],i,maxnum,minnum;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
FindMaxandMin(a,10,&maxnum,&minnum);
printf("%d %d",maxnum,minnum);
}
输入格式:
数组
输出格式:
最大值 最小值
输入样例:
1 2 3 5 4 6 7 8 9 10
输出样例:
10 1
扩展资料:
#include<stdio.h>
int main()
{
int a[3];
int i,j,temp;
printf("请输入3个数:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=0;j<2-i;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
printf("最大值%d最小值%d",a[2],a[0]);
return 0;
}
参考资料:百度百科 - C语言
C语言如何求次大值
简单的办法就是遍历啊,第一遍找到最大值,然后将最大值剔除或者做上标记,然后遍历第二遍找剩余数的最大值,那么找到的就是次大值了。
用c++方法求一组数中最大和次大的数
void main()
{
int a[]={1,3,4,2,5,6,8,7,9,10};
for(int i=0;i<2;i++)//两次循环将最大数和次大的放在最前面两位
{
for(int j=i+1;j<10;j++)
{
if(a[i]<a[j])
{
int temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
cout<<"最大数是:"<<a[0]<<endl;
cout<<"次大数是:"<<a[1]<<endl;
}
c语言找最大值
#include<stdio.h>
int main()
{
int n,i,x,max=0x80000000;
scanf("%d",&n); //找n个数中的最大值
for(i=0; i<n; i++)
{
scanf("%d",&x);
if(x>max)max=x;
}
printf("%d\n",max);
return 0;
}