问题补充:
#include
#define LEN 10
struct sqlist
{int a[LEN];
int len;
};
void maopao(struct sqlist *sq)/*冒泡函数*/
{int i,j,temp;
for(i=1;ilen;i++)
for(j=1;j<=sq->len-i;j++)
if(sq->a[j]>sq->a[j+1])
{temp=sq->a[j+1];
sq->a[j+1]=sq->a[j];
sq->a[j]=temp;}
}
void xuanze(struct sqlist *sq)/*选择函数*/
{int i,j,temp,pos;
for(i=1;ilen;i++)
{temp=sq->a[i];/*记录最小值*/
pos=i;/*记录位置*/
for(j=i+1;j<=sq->len;j++)
if(sq->a[j]>temp)
{temp=sq->a[j]; pos=j;}
sq->a[pos]=sq->a[i]; sq->a[i]=temp;
}}
void main()
{struct sqlist *sq;int i;char c;int xz=1;
printf("please input length:\n");
scanf("%d",&sq->len);
printf("please input %d nums:\n",sq->len);
for(i=1;i<=sq->len;i++)
scanf("%d",&sq->a[i]);
while(xz)
{printf("1.maopao(+)\n");
printf("2.xuanze(-)\n");
printf("0.exit\n");
printf("please input your choice:\n");
scanf("%d",&xz);
switch(xz)
{case 1:maopao(sq);break;
case 2:xuanze(sq);break;
case 0:xz=0;break;}
for(i=1;i<=sq->len;i++)
printf("%d ",sq->a[i]);
printf("\n");
}}补充:点运行时显示没有错误,但输入第一个数字后会出现 .exe已停止工作,关闭程序