如何从数组元素挑选百位数比十位各位之和还要大的元素?(语言-c语言)

这个程序哪里有问题,怎么运行不出来呢


#include 
int main()
int hun, ten, ind;
    int i;
    int a[5] = {0};
    for(i=0;i<5;i++)
    {
       scanf("%d",&a[i]);
    }
    a[hun]=a[i]/ 100;
    ten =(a[i]-a[hun]*100)/10;
    a[ind]=a[i] % 10;
    if(hun>(ten+ind))
    {
        printf("%d\n",a[i]);     
    }
    return 0;
}

hun没有初始化就使用了。
a是输入的数值,后面又用来保存各个位的值,会把之前输入的值覆盖。
确定输入的只是3位数才能按你这么算各个位数。

其一,你int main(),后面少了一个”{“
其二,你int hun, ten, ind;都赋初值了吗?
其三,你是输入了5个数
但是11-13行
你为什么在你数组复值的基础上这样搞,你的”i“,现在又表示的什么
hun>(ten+ind)这些你把下标和那你的十位个位都搞混了


#include<stdio.h> 
int main()
{
//    int hun,ten, ind;
    int i;
    int a[5] = {0};
    for(i=0;i<5;i++)
    {
        int hun=0,ten=0,ind=0;
        scanf("%d",&a[i]);//前提你输入的是小于四位数 
        hun=a[i]/100;//百位 
        ten=a[i]/10%10;//十位
        ind=a[i]%10;//个位,如果是三位数直接%100就行 
        if(hun>ten+ind)
            printf("%d\n",a[i]); 
    }
//    a[hun]=a[i]/ 100;
//    ten =(a[i]-a[hun]*100)/10;
//    a[ind]=a[i] % 10;
//    if(hun>(ten+ind))
//    {
//        printf("%d\n",a[i]);     
//    }
    return 0;
}

要把基础打牢,头文件要写全