c语言小程序之找最大次大数,c语言较大数

发布时间:2022-11-25

本文目录一览:

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;
}