当前位置: 首页 > news >正文

C语言案例 按序输出多个整数-03

难度2
复杂度3

题目:输入多个整数,按从小到大的顺序输出

步骤一:定义程序的目标

        编写一个C程序,随机输入整数,按照从小到大的顺序输出

步骤二:程序设计 

         整个C程序由三大模块组成,第一个模块使用for与scanf函数完成整数的输入,第二个模块使用for循环的冒泡法进行排序,第三个模块使用printf函数进行输出。

编写代码

#include<stdio.h>

int main(){

    //模块一:自主输入整数

    int i,j,temp,num;

    printf("请输入你想排序的个数:\n");

    scanf("%d",&num);

    int arr[num];

    for(i=0;i<num;i++){  //使用for循环方式逐一添加相应的整数

        printf("请输入第%d个整数:\n",i+1);

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

    }

    //打印已输入的整数

    printf("你请输入的整数为:");

    for(i=0;i<num;i++){

        printf("%d\t",arr[i]);

    }

    printf("\n");

    //模块二:使用冒泡法进行数组中数值排序

    for(i=num-1;num>0;num--){

        for(j=0;j<=i;j++){

            if(arr[j]>arr[j+1]){

                temp=arr[j];

                arr[j]=arr[j+1];

                arr[j+1]=temp;

            }

        }

    }

    //模块三:打印排序好的数值

    printf("从小到大的排序为:");

    int num1=sizeof(arr)/sizeof(arr[0]);

    for(i=0;i<num1;i++){

        printf("%d\t",arr[i]);

    }

    return 0;

}

效果:

总结

      这个案例的难点有几个,第一个难点如何接受输入的整数,这里可以使用数组来接收,而数组的长度可以自定义,长度定义好了之后,就可以使用循环与输入函数进行数据的定义。第二个难点如何进行数组排序,在已知数据的情况下,我们可以使用冒泡法来排序。关于冒泡法,这个是属于数据结构与算法的内容了,现在我们不讨论。第三个难点如何输出排序好的数据,数据的长度我们已经在模块二使用了,而且它的数值已经变为0了,这时我们应该计算出数组的长度,然后使用for循环输出即可。别小看这个小案例,里面涉及到的知识点、程序思想是比较多的。好了,当然这个程序也许还可以继续优化,但是优化的代码一定要比原来的代码更加简练、更加易懂、更加易维护,否则是没有意义的。好了,我们在下一个章节再见,加油!

http://www.lryc.cn/news/111658.html

相关文章:

  • 如何获取vivado IP列表
  • 计算机网络的定义和分类
  • 【css】超过文本显示省略号
  • Java 8 中使用 Stream 遍历树形结构
  • 网络安全防火墙体验实验
  • YOLOv5引入FasterNet主干网络,目标检测速度提升明显
  • SpringBoot运行时注入一个Bean
  • Pyspark
  • Spring Boot 项目五维度九层次分层架构实现实践研究——持续更新中
  • stm32常见数据类型
  • mac m1使用docker安装kafka
  • SpringBoot核心配置和注解
  • 第三章 图论 No.3 flody之多源汇最短路,传递闭包,最小环与倍增
  • Leetcode-每日一题【剑指 Offer 17. 打印从1到最大的n位数】
  • 远程调试MySQL内核
  • 前端学习---vue2--选项/数据--data-computed-watch-methods-props
  • UML-构件图
  • uniapp使用视频地址获取视频封面
  • java操作PDF:转换、合成、切分
  • 递增子序列——力扣491
  • 解密!品牌独立站为何能成为外国消费者的心头爱?
  • 【HDFS】每天一个RPC系列----complete(二):客户端侧
  • 五、PC远程控制ESP32 LED灯
  • 详解PHP反射API
  • 打开虚拟机进行ip addr无网络连接
  • Spring Boot如何整合mybatisplus
  • webpack基础知识一:说说你对webpack的理解?解决了什么问题?
  • 小研究 - 基于 MySQL 数据库的数据安全应用设计(二)
  • 大数据-数据内容分类
  • Babel编译与Webpack