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

C程序调试有关问题

2013-11-09 
C程序调试问题#includestdio.h#define SIZE 100int main(){ int a[SIZE],i,j,n,tmp,kprintf(plesae en

C程序调试问题


#include<stdio.h>
#define SIZE 100

int main(){ 
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}

printf("enter completed\n");

for(i=0;i<n-1;i++){
k=i;
for(j=i+1;i<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}

for(i=0;i<n;i++){
printf("%6d",a[i]);

}
return 0;
}


一段进行数组排序的程序,但是运行到 printf("enter completed\n"); 就死了,请大家帮忙看下
[解决办法]

#include<stdio.h>
#define SIZE 100

int main(){ 
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}

printf("enter completed\n");

for(i=0;i<n-1;i++){
k=i;
//for(j=i+1;i<=n-1;j++){
//问题就在这了,你把j的循环结束条件写成“i<=n-1”了
for(j=i+1;j<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}

for(i=0;i<n;i++){
printf("%6d",a[i]);

}
return 0;
}

热点排行