练习冒泡算法

//班级上有n个同学,成绩为x(满分100),要求从大到小排列
   int n = 0;//同学个数
   printf("请输入学生个数:");
   scanf_s("%d", &n);//学生个数
   const int a = 100;//数组上限
   int arr[a];
   printf("请输入学生成绩:");
   for (int i = 1; i <= n; i++)
   {
      scanf_s("%d", &arr[i]);
      if (arr[i] > 100 || arr[i]<0)
      {
         printf("\n输入成绩无效,请重新输入");
         scanf_s("%d", &arr[i]);
      }
   }

   for (int i = 1; i <=n-1; i++)
   {
      for (int j = 1; j <=i+1 ; j++)
      {
        if (arr[i] > arr[j ])//判断谁大谁小
          {
             int a;
             a = arr[i];
             arr[i] = arr[j ];
             arr[j] = a;
          }
      }
  
   }
   int b = 0;
   for (int i = 1; i <= n; i++)
   {
      printf("%d:", arr[i]);

      b = b + 1;
      if (b == n-1)
      {
         printf("%d", arr[i + 1]);//去除尾数后面的:
         break;
      }

   }

posted @ 2017-11-23 23:40  苯苯!  阅读(151)  评论(0编辑  收藏  举报