这个程序老是死循环
#include "stdio.h"#define N 10
main()
{int k,i,j,h;
float a[N],t;
printf("input k=:");
scanf("%d",&k);
printf("input a[N]=:");
for(i=0;i<N;i++) scanf("%f",&a[i]);
while(k>=1)
{a[k]=0;h=N;h--;
for(j=1;j<N;j++)
for(i=0;i<N-j;i++)
{if(a[i]<a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}}
for(i=0;i<h;i++) printf("%4f",a[i]);
scanf("%d",&k);}
}
题目是这样的:
从键盘输入任意10个整数存放在一个数组中,然后从键盘不段读入位置值,并删除指定位置上的元素,直到指定的位置小于1或数组中已无元素可删为止,要求每删除一次,即按顺序输出数组剩下的元素。