从键盘输入十个正整数,并且在屏幕显示该十个数。要求:当键盘输入A的时候,该十个数从大到小排列,当键盘输入B的时候,该十个数从小到大排列
自己编的,不知道哪里错了。总是有一个数字被0给替了
#include<stdio.h>
int main()
{ void sortA(int array[],int n);
void sortB(int array[],int n);
int a[10],i;
char letter;
printf("请输入10个正整数 :\n");
for(i=0;i<10;i++)
scanf("%d,",&a[i]);
printf("\n");
printf("请输入字母A或者B :\n");
scanf("%s",&letter);
switch(letter)
{ case 'A':sortA(a,10);break;
case 'B':sortB(a,10);break;
}
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
return 0;
}
void sortA(int array[],int n)
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(array[j]>array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
printf("10个数从大到小的顺序 :\n");
}
void sortB(int array[],int n)
{ int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
printf("10个数从小到大的顺序 :\n");
}