这个程序哪里有问题,怎么运行不出来呢
#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;
}
要把基础打牢,头文件要写全