首页 > 代码库 > 华为机试 --- 求最大三位数

华为机试 --- 求最大三位数

题目:输入10位0-9数字,取其中三位不同数字组合,求组合出来的最大三位数。

         如输入 1 2 3 4 5 6 7 8 9 0,组合出来987最大。

测试代码如下:

#include <stdio.h>#include <stdlib.h>int IsSame(int *a, int num);int main(){    int i=0;    int j=0;    int a[10]={0};    int input =0;    int length =0;    int temp=0;    for (i = 0; i < 10; i++)    {        scanf_s("%d",&input);        if (IsSame(a,input,length) == 1)        {            a[length] = input;            length ++;        }    }    if (length < 3)    {        printf("please reinput!");        system("PAUSE");        return 0;    }    for(j=0; j<3;j++)    {        for(i=j+1; i<length;i++)        {            if (a[j] < a[i])            {                temp = a[j];                a[j]=a[i];                a[i]=temp;            }        }        printf("%d",a[j]);    }    system("PAUSE");    return 0;}int IsSame(int a[], int num, int length){    while(--length >=0)    {        if (a[length] == num)        {            return 0;        }    }    return 1;}