首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何迭代给定的整数输入,并给出最大到最小数字的输出?

问如何迭代给定的整数输入,并给出最大到最小数字的输出?
EN

Stack Overflow用户
提问于 2015-03-17 00:50:36
回答 2查看 107关注 0票数 1

从理论上讲,我知道如何解决这个问题。

例如,如果给定的输入是9536,则输出将是9653。

我想要一种方法来做到这一点,使用连接,并在每个数字之间循环,当找到一个比其他数字更大的数字时,它被存储为空字符串r中的第一个“字符”。

我可以使用php(我的主要语言)来解决这个问题,但不能使用C。我正在准备一个实验职位,这个实验使用C作为他们的主要语言,所以我正在努力温习我的基本C语言技能。

谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2015-03-17 00:57:22

三个步骤:

  1. 一次读取输入的一个字符,将字符转换为整数并存储在整数数组中。
  2. 排序数组
  3. 打印(现在已排序)数组

中的每个数字

票数 1
EN

Stack Overflow用户

发布于 2015-03-17 01:18:06

使用提供的qsort()很容易进行排序。在本例中,我可以直接要求输入字符串,但您需要的是整数。它没有使用您想要的“连接”,但是您没有显示任何代码。

代码语言:javascript
复制
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int compare(const void *A, const void *B) {
        return *(char*)B - *(char*)A;
    }

    int main() {
        int number;
        char numstr[21];
        printf("Enter an integer: ");
        if (scanf("%d", &number) != 1)
            return 1;
        sprintf (numstr,"%d", number);
        qsort(numstr, strlen(numstr), 1, compare);
        printf("%s\n", numstr);
    return 0;
    }

程序输出:

代码语言:javascript
复制
Enter an integer: 9536
9653
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29082500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档