Wells


私信TA

用户名:3180624024

访问量:11173

签 名:

等  级
排  名 2553
经  验 2269
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校 渣渣大学
专  业 大数据

  自我简介:

TA的其他文章

解题思路: 

这道题让输出升序,所以,选择排序是通过反复的求最小值的方法实现排序的

1、将10个数存入一维数组a中。

2、然后找出数组中的最小值存入a[0]中;

(那么如何求最小值呢)

/*如果a[0]的值大于a[j],将a[0]与a[j]的值交换*/
for (j = 0; j <= 9; j++)
{
    if (a[0] > a[j])
    {
        t = a[0];    /* 将a[0]的值存入t中避免数据丢失*/
        a[0] = a[j];
        a[j] = t;
    }
 }
 /*下述同理*/

3、再找出数组中第二小的数存入a[1]中;

4、再找出数组中第三小的数存入a[2]中;

                       ...

                       ...

从而完成降序排序

最后输出排序后的数据


注意事项:

参考代码:

#include<stdio.h>
int main(void)
{
    int i, j, t, a[10];
    for (i = 0; i <= 9; i++)
        scanf("%d", &a[i]);  /*输入十个数存入数组a中*/
    for (i = 0; i <= 9; i++)
    {
        for (j = i+1; j <= 9; j++)
        {
            if (a[i] > a[j])
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;   /*将a[i]与a[j]的值交换,从而找出每次循环的最小值*/
            }
        }
        printf("%d\n", a[i]);  /*每次循环结束输出最小值*/
     }
     return 0;
 }

第一次发帖子,如果代码存在问题希望能指出不足。

 

0.0分

2 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

  • «
  • »