专升本c语言学习体会3

      ## 今天分享的一道题相对之前发的复杂一点点

前几天晚上咖啡喝多了,半夜睡着,在CSDN上面看blink的帖子,发现了一个题
在这里插入图片描述
题是这样的
在这里插入图片描述
觉得挺有意思,就在手机上做了一下。我是这么想的

  1. 首先说第一句话,实现对n个数进行排序。我首先想到的是scanf也不知道理解的对不对,那就定义一个变量,然后scanf。
  2. 然后看题的说明,要求使用函数调用的方式实现,换成c语言的意思就是,“你得给我整个函数”。好了,一个输入n,一个函数,创好了。
  3. 往后看,n个数保存在数组中,使用数组和个数n同时作为参数来传递,
    明白了,也就是说“假如我输入这个n是3,那么保存在数组里的元素就是三个,从0~2,数组[0],数组[1],数组[2]。这里就需要做一个数组然后把数组放在循环里去让我们键盘输入,循环从0开始,结束的条件就是n-1,循环里放输入数组[循环变量]”,
  4. 这些事情做好了,剩下的就简单了,我们就需要写函数了,函数里写一个排序,然后再用循环一个一个输出出来,上代码
#include <stdio.h>
void fun(int *a, int n) {
    int i;
    int j;
    int t;
    for (i = 1;i <= n - 1;i++) {
        for (j = 0;j < n - 1;j++) {
            if (a[j] > a[j + 1]) {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
    }
}
int main()
{
    
    int   a[20];
    int  x, i, j, n;
    printf("输入要排序的数字数量\n");
    scanf_s("%d", &n);
    printf("请输入数字,用回车分隔\n");
    for (i = 0;i <= n - 1;i++) {
        scanf_s("%d", &a[i]);
    }
    fun(a,n);
    printf("\n");
    for (j = 0;j <= n - 1;j++) {
        printf("%d\t", a[j]);
    }
}


最后回到CSDN上去回复这个小伙伴
在这里插入图片描述
那天太晚了,写完就睡下了。
希望有同样的问题,看到我自己写的,能帮到你们。
代码的还有什么可以改进的,可以评论区回复。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值