void main()
{
int b[40];
char a[41];
int n=0;
ifstream infile;
infile.open("xixi.txt");
if(!infile)
{
cout<<"can't open file: xixi"<exit(1);
}
while(infile.getline(a,40))
{
for(int i=0;i<50;i++)
{
if(a[i]>'9'||a[i]<'0') break;//不是数字,忽略。
b[i]=a[i]-48;
cout< if(++n>40) break;//超出范围
}
}
cout<mao(b,n);//只能对有效数字排序
infile.close();
}
这样只是处理好了统计数字n,防止数组溢出。
另外一个问题就是txt的数据格式问题,目前读取的b,只能是0~9的个位数字,不会是其它整数,这个你txt文件里面的格式和程序逻辑相关,没法帮你完善。
本来a就没有50个元素,你的
for(int i=0;i<50;i++) ?
{ ?
b[i]=a[i]-48; ?
cout<}
i<50改为i<40。