首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C排序有关问题的系统报错(非C本身报错)

2012-09-29 
C排序问题的系统报错(非C本身报错)#includestdio.h#define TOTAL 10int firstmin(int[],int)int main()

C排序问题的系统报错(非C本身报错)
#include<stdio.h>
#define TOTAL 10
int firstmin(int[],int);
int main()
{
int i,j,nums;
/*int num[TOTAL]={22,5,67,98,45,32,101,99,73,10};*/
int num[TOTAL];
for(i=0;i<TOTAL;i++)
{
printf("please input the number");
scanf("%d",num[i]);
  }
nums=firstmin(num,TOTAL);
for(j=0;j<TOTAL;j++)
printf("%d ",num[j]);
return 0;
}
int firstmin(int num[], int nume1)
 {
int min,i,j,temp,numidx;
int nums=0;
  for(i=0;i<nume1-1;i++)
{
min=num[i];
numidx=i;
for(j=i+1;j<nume1;j++)
{
if (num[j]<min)
{
min=num[j];
numidx=j;
}
}
if (min<num[i])
{
temp=num[i];
  num[i]=min;
num[numidx]=temp;
nums++;
}
}
return (nums);

}


这个程序很显然了,是用输入10个数的方式排序,注释掉的那行如果替换掉下面for循环的输入,那么程序正常运行;如果按此时的程序运行,虽然可以,但是如果你试试,应该会有一个问题:输入第一个数之后,就开始系统报错,程序终止(不是C本身报错),在两台机子上实验均如此。求大侠们解释,谢谢。

[解决办法]

C/C++ code
int num[TOTAL];for(i=0;i<TOTAL;i++){printf("please input the number");scanf("%d",&num[i]);  } 

热点排行