C语言70分,感觉没什么错误,但3,4,9点没过
查看原帖
C语言70分,感觉没什么错误,但3,4,9点没过
1248347
XianYuzhinan楼主2024/3/30 22:39
#include <stdio.h>

// 函数用于对三个整数进行升序排序
void sort(int* p1, int* p2, int* p3) 
{
    if (*p1 > *p2) 
    {
        int d = *p1;
        *p1 = *p2;
        *p2 = d;
    }
    if (*p2 > *p3)
    {
        int d = *p2;
        *p2 = *p3;
        *p3 = d;
    }
}

int main()
{
    int sum[3], i = 0, n = 0;
    char add; // 使用字符变量而不是字符数组
    int m[3];

    // 读取三个整数到sum数组
    scanf("%d%d%d", &sum[0], &sum[1], &sum[2]);

    // 对sum数组进行排序
    sort(&sum[0], &sum[1], &sum[2]);
    while (getchar() != '\n') 
    {
        ;
    }

    // 读取字符直到文件结束或遇到非'A'、'B'、'C'字符
    while ((add = getchar()) != EOF && (add == 'A' || add == 'B' || add == 'C')) 
    {
        // 根据字符的值将sum数组中的相应值赋给m数组
        switch (add)
        {
        case 'A':
            m[i] = sum[0];
            break;
        case 'B':
            m[i] = sum[1];
            break;
        case 'C':
            m[i] = sum[2];
            break;
        }
        i++; // 在赋值后递增i
    }
    // 打印m数组的值
    for (n = 0; n < i; n++) { // 只打印已经赋值的元素
        printf("%d ", m[n]);
    }
    return 0;
}
2024/3/30 22:39
加载中...