总分 | 12 |
从键盘任意输入某班30个学生的成绩(成绩类型为整型),保存到数组中,并输出成绩按由高到低的排序结果。 输入:"%d" 提示信息"Please enter scores:\n" 输出:提示信息"Sorted results:\n",且每个成绩占一行"%d\n"
1 #include<stdio.h> 2 int main() 3 { 4 int a[30],i,j,t,k; 5 printf("Please enter scores:\n"); 6 for(i=0;i<30;i++)scanf("%d",&a[i]); 7 for(i=0;i<29;i++) 8 { 9 k=i; 10 for(j=i;j<30;j++) 11 if(a[j]>a[k])k=j; 12 if(i!=k) 13 { 14 t=a[i]; 15 a[i]=a[k]; 16 a[k]=t; 17 } 18 } 19 printf("Sorted results:\n"); 20 for(i=0;i<30;i++) 21 printf("%d\n",a[i]); 22 return 0; 23 }
这道题这么做很简单就过去了,但是我开始写的有问题就是在答题系统里有问题?
我自己测试五个数据没有问题;
1 #include<stdio.h> 2 3 int main(){ 4 int a[30]; 5 int i,l; 6 int b; 7 printf("Please enter scores:\n"); 8 for(i;i<30;i++){ 9 scanf("%d",&a[i]); 10 } 11 12 for(i=1;i<30;i++){ 13 for(l=i;l>=1;l--){ 14 if(a[l-1]<a[l]){ 15 b=a[l-1]; 16 a[l-1]=a[l]; 17 a[l]=b; 18 19 } 20 } 21 } 22 printf("Sorted results:\n"); 23 for(i=0;i<30;i++){ 24 printf("%d\n",a[i]); 25 26 } 27 return 0; 28 }
目前卡在这里了
个人水平有限目前未能解决
先记录下来
报错信息