我开始学C不久,还只学到指针,刚开始学习上机!
最近为一个很简单的问题难住了,郁闷的要死~~
事情是这样的~~~~
程序目的:
使用冒泡法进行排序,一个数组,上限100,用户自己输入需要排序的个数!可循环使用!
程序写好之后,用TURBOC 2.0编译
没有错误没有警告,但运行结果完全不同!
以下是源码:
#include "stdio.h"
main()
{
   int i,n,temp;
   int a[100];
   char d;
   printf("确定使用吗?\n");
   scanf("%c",&d);
   while((d=='y')||(d=='Y')) /*判断是否使用*/
   {
     printf("输入需要排序的个数:\n");
     scanf("%d",&n);
     while(n>100)  /*判断是否越界*/
     {
       printf("数量太大,请重新输入:\n");
       scanf("%d",&n);
     }
     printf("输入需要排序的数:\n");
     for(i=0;i<n;i++)
     scanf("%d",a[i]);
     for(i=0;i<n;i++)  /*判断排序的次数*/
     for(i=n-1;i>=0;i--)  /*进行排序,每次将一个最小的数上移*/
     {
       if(a[i]<a[i-1])
       {
            temp=a[i];
            a[i]=a[i-1];
            a[i-1]=temp;
        }
     }
     printf("结果:\n");
     for(i=0;i<n;i++)  /*数据的输出*/
     {
       printf("%d\t",a[i]);
       if((i!=0)&&(i%5==0))    /*每行输出5个*/
       printf("\n");
     }
     printf("\n\n\n");     /*空三行,目的使程序清楚些*/
     getch();   /*等待用户确认*/
     printf("还需要使用吗?");
     scanf("%c",&d);
   }
}
上面程序中的中文在我编译时全部是英文的,没有中文字符,注释也没有!
编译好之后使用时,运行到输出结果时出错,图面显示:
结果:
然后按任意键他就退出了,没有显示结果数据,也没有循环使用的效果~~~根本没有运行最后一段!
请问大家知道吗?好急~~~
我怎么看也看不出程序有什么错,问老师,结果~~~
他说:"我觉得没错啊!"
汗~~~~~~



 
											





 
	    

 
	




 
										
					
	