排序练习1

排序练习(入门篇)

排序练习1:
小明的班上有5个同学,这5个同学分别考了5分、 3分、5分、 2分和 8分,满分是10分。接下来将分数进行从大到小排序,排序后是8 5 5 3 2。编写一段程序,让计算机随机读入5个数然后将这5 个数从大到小输出?(题目来自《啊哈!算法》)
代码如下:

#include <stdio.h>
#define N 5
int main(int argc, const char *argv[])
{
 int a[11]; //声明变量
 int i,j,t;
 for(i = 0;i < 10;i++) //初始化
  a[i] = 0;
 for(i = 0;i < N;i++) //依次输入班级同学的成绩
 {
  scanf("%d",&t);
  if(t < 0 || t>10) //容错判断
  {
   printf("error!\n");
   return 0;
  }
  a[t]++; //对应分数加一
 }
 for(i = 10; i >= 0; i--) // 依次判断a[0]~a[10]
 {
  for(j = 1; j <= a[i]; j++) //出现几次就打印几次
  printf("%d ",i);
 }
 printf("\n");
 return 0;
}

运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值