编程第21题。求C语言大神

 我来答
百度网友43dd28b
2014-12-04 · TA获得超过214个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:108万
展开全部
#include <stdio.h>

void sortNumbers(int * arr);

int main(int argc, char * argv[]) {
    int arr[3];
    printf("请输入三个整数,用逗号分隔:\r\n");
    scanf("%d,%d,%d", &arr[0], &arr[1], &arr[2]);
    sortNumbers(arr);
    printf("排序之后的结果为:%d, %d, %d", arr[0], arr[1], arr[2]);
    return 0;
}

void sortNumbers(int * arr) {
    int i = 0, index, flag = 0;
    int sorted[3];
    sorted[0] = 0x80000000;
    sorted[1] = 0x80000000;
    sorted[2] = 0x80000000;
    // first looping : calculate the maxium number
    for (i = 0; i < 3; i++) {
        if (sorted[2] < arr[index]) {
            sorted[2] = arr[index];
        }
    }
    // second looping : middle number
    for (i = 0; i < 3; i++) {
        if (sorted[2] > arr[index]) {
            if (sorted[1] < arr[index]) {
                sorted[1] = arr[index];
            }
        }
    }
    // last thing : lowest number
    for (i = 0; i < 3; i++) {
        if (sorted[2] > arr[index] && sorted[1] > arr[index]) {
            sorted[0] = arr[index];
            break;
        }
    }
    arr[0] = sorted[0];
    arr[1] = sorted[1];
    arr[2] = sorted[2];
}
水上漂汤
2014-12-04 · TA获得超过1万个赞
知道大有可为答主
回答量:1830
采纳率:71%
帮助的人:1441万
展开全部
#include <stdio.h>

void sort(int *p, int n)
{
    for (int i = 0; i < n; ++i)
    {
int min = i, temp;
for (int j = i + 1; j < n; ++j)
            if (p[j] < p[min])
min = j;
temp = p[i];
p[i] = p[min];
p[min] = temp;
    }
}

int main()
{
const int n = 3;
    int num[n];
    for (int i = 0; i < n; ++i)
        scanf("%d", &num[i]);
    sort(num, n);
    for (int j = 0; j < n; ++j)
        printf("%d ", num[j]);
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式