• 挑战作业


    7-1 冒泡法排序 (10 分)
    输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。
    输入格式:
    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
    输出格式:
    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
    输入样例:
    4
    75 71 77 76
    输出样例:
    77 76 75 71
    代码:

    include<stdio.h>

    int main (void)
    {
    int i, j, n, temp=0;
    int a[10];
    char op = ' ';
    scanf ("%d", &n);

    for(i=0; i<n; i++)
    {
    scanf ("%d", &a[i]);
    }
    for(i=1; i<n; i++)
    {
    for(j=0; j<n-i; j++)
    {
    if(a[j]<a[j+1])
    {
    temp = a[j];
    a[j] = a[j+1];
    a[j+1] = temp;
    }
    }
    }
    printf ("%d",a[0]);
    for(i=1; i<n; i++)
    {
    printf ("%c%d",op,a[i]);
    }
    printf (" ");
    流程图:

    运行截图:

    问题及解决办法:
    这个题最主要的就是把相邻的数互换,然后再让小的那个数去和后面的那个数比较,如果后面的数比前面的数大,那么就交换。
    学习进度:
    |日期|这周时间||代码行数|所学知识点|目前的问题|
    |--------|----------|----------|---------|---------|
    |3/4-3/10|一个小时|30|编写程序时处理文件|没啥大问题|
    |3/11-3/15 | 一个小时 | 60 | 二维数组的基本结狗 |二维数组的运用还存在稍许疑惑|
    | 3/17-3/22 | n个小时 | 几百行 | 选择排序和冒泡排序 | 选择排序和冒泡排序的程序实在太长了容易出错|
    感悟:
    这周的学习主要还是数组,相比于上周这周的作业难度大些,特别是基础题的第二题,因为存在相同的数,所以我改了很久,也想了很久,最后很艰难的解决了,很不容易。

  • 相关阅读:
    vim编辑器入门
    线程概念
    forkJoin
    join()方法跟踪
    mybatis 注解和xml 优缺点
    sql 索引 sql_safe_updates
    spirngcloud文件
    springCloud com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
    创建线程池的四种方式
    ThreadLocal
  • 原文地址:https://www.cnblogs.com/amityblue/p/10580933.html
Copyright © 2020-2023  润新知