首页 > 其他分享 >4.19打卡

4.19打卡

时间:2023-04-19 20:23:17浏览次数:40  
标签:4.19 元素 扫描 冒泡排序 相邻 数组 printf 打卡

一、问题描述:

对N个整数(数据由键盘输入)进行升序排列。
二、设计思路:
对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。
冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若相邻两个元素中,前面的元素大于后面的元素,则将它们互换,称之为消去了一个逆序。在扫描过程中,不断地将两相邻元素中的大者往后移动,最后就将数组中的最大者换到了表的最后,这正是数组中最大元系应有的位置。然后,在剩下的数组元素中(n-1个元素)重复上面的过程,将次小元素放到倒数第2个位置。不断重复上述过程,直到剩下的数组元素为0为止,此时的数组就变为了有序。假设数组元素的个数为n,在最坏情况下需要的比较总次数为:((n-1)+(n-2)+...+2+1)=n(n-1)/2。

三、程序流程图

 

 

四、代码实现

#include<stdio.h>

#define N 10

main()

{

    int i,j,a[N],t,count=0;

    printf("请为数组元素赋初值:\n");

    for(i=0;i<N;i++)

        scanf("%d",&a[i]);

        for(i=1;i<=N-1;i++)

            for(j=0;j<N-i;j++)

            if(a[j]>a[j+1])

        {

            t=a[j];

            a[j]=a[j+1];

            a[j+1]=t;

        }

        printf("经过交换后的数组元素为:\n");

        for(i=0;i<N;i++)

        {

            count++;

            printf("%d ",a[i]);

            if(count%5==0)

                printf("\n");

        }

        printf("\n");

}

 

标签:4.19,元素,扫描,冒泡排序,相邻,数组,printf,打卡
From: https://www.cnblogs.com/wanbeibei/p/17334501.html

相关文章

  • 每日打卡1,(2)
    1.2借书方案知多少include<bits/stdc++.h> //万能开头usingnamespacestd;  #defineintlonglong  //防止爆intintn; signedmain(){             inti=0;for(inta=1;a<=5;a++){for(intb=1;b<=5;b++){if(a!=b)//前两比较减少......
  • 第三天打卡
    一、问题描述中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是”打鱼“还是”晒网"。二、设计思路1.根据题意,需要对于闰年的判断,计算今天距离指定日期的天数,需要运用函数实现;2.定义一个结构体用来输入今天的......
  • 打卡第四天
    一、问题描述: 从键盘输入一个四位整数n,输出它的各位数字之和二、设计思路:确认输入输出:输入是一个四位整数,输出是它的各位数字之和。计划程序逻辑:读取输入的四位整数,通过取整和取余操作得到每个数字,将它们相加得到它们的和,并输出结果。三、程序流程图: 四、伪代码实现:开......
  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做三色球问题问题描述已知不同种球的个数,求取一定球数的颜色搭配种数。设计思路循环遍历可能的搭配情况,然后判断是否符合事实。流程图graphA[开始]-->B[循环遍历可能的搭配情况]-->C{符合事实情况}--Yes-->D[count++];代码实现count=0......
  • 每日总结-23.4.19
    /*noticeview*更新消息是否查看过的状态为“已查看”*输入参数为:id(String)即消息id*返回类型为boolean,true为修改成功,false为未有记录或修改失败**/publicbooleanview(Stringid)throwsException{Pd_noticepd=quer......
  • 天天打卡一小时第六天
    1.问题描述实验2-1猴子吃桃问题一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入......
  • 4.19打卡
    问题描述:给定一个长度为n的数组,找出其中的最大元素和最小元素的差值。假设数组中的元素范围为[-10000,10000]。设计思路:1.直接排序,取出最大值和最小值,计算其差值;2.遍历数组,同时维护最大值和最小值,最后计算其差值。 程序流程图:1.直接排序,取出最大值和最小值,计算其差值2.......
  • 4.19
    #include<stdio.h>typedefstructdate{intyear;intmonth;intday;}DATE;intcountDay(DATE);intrunYear(int);voidmain(){DATEtoday;inttotalDay;intresult;printf("pleaseinput指定日期包括年,月,日如:1999131\n");scanf("%d%d%d",&toda......
  • 建民打卡日记4.19
    一、问题描述二、设计流程 1.定义两个双精度浮点数a,b=1000;     2.循环5次从后往前计算存款数;     3.循环内a=b/(1+12*0.0063)       b=a+1000;三、流程图设计四、代码实现#include<iostream>usingnamespacestd......
  • 4月19打卡
     #include<bits/stdc++.h>usingnamespacestd;intchar_to_num(charch){ if(ch>='0'&&ch<='9') returnch-'0'; elsereturnch-'A'+10;}charnum_to_char(intnum){ if(num>=0......