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循环输出即可。别小看这个小案例,里面涉及到的知识点、程序思想是比较多的。好了,当然这个程序也许还可以继续优化,但是优化的代码一定要比原来的代码更加简练、更加易懂、更加易维护,否则是没有意义的。好了,我们在下一个章节再见,加油!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公子绝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值