灯泡不要再响啦 2023-10-24 18:36 采纳率: 0%
浏览 16

输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

#include <stdio.h>
int main()
{

int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
if(a1<0){a1=a1*-1;}else{a1=a1;}
if(a2<0){a2=a2*-1;}else{a2=a2;}
if(a3<0){a3=a3*-1;}else{a3=a3;}
if(a4<0){a4=a4*-1;}else{a4=a4;}
if(a5<0){a5=a5*-1;}else{a5=a5;}
if(a6<0){a6=a6*-1;}else{a6=a6;}
if(a7<0){a7=a7*-1;}else{a7=a7;}
if(a8<0){a8=a8*-1;}else{a8=a8;}
if(a9<0){a9=a9*-1;}else{a9=a9;}
if(a10<0){a10=a10*-1;}else{a10=a10;}
int min;
printf("please imputa1,a2,a3,a4,a5,a6,a7,a8,a9,a10:");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8,&a9,&a10);
min=a1;
if(min=a1){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a10,a2,a3,a4,a5,a6,a7,a8,a9,a1);}
if(min>a2){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a10,a3,a4,a5,a6,a7,a8,a9,a2);}
if(min>a3){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a10,a4,a5,a6,a7,a8,a9,a3);}
if(min>a4){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a10,a5,a6,a7,a8,a9,a4);}
if(min>a5){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a10,a6,a7,a8,a9,a5);}
if(min>a6){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5,a10,a7,a8,a9,a6);}
if(min>a7){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5,a6,a10,a8,a9,a7);}
if(min>a8){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5,a6,a7,a10,a9,a8);}
if(min>a9){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5,a6,a7,a8,a10,a9);}
if(min>a10){printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}

return 0;}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-24 20:54
    关注

    【以下回答由 GPT 生成】

    首先,我们可以将输入十个数的部分封装到一个函数中,这样可以提高代码的可读性和可维护性。代码如下:

    #include <stdio.h>
    
    void inputNumbers(int *array, int length) {
        printf("请依次输入%d个数:", length);
        for (int i = 0; i < length; i++) {
            scanf("%d", &array[i]);
        }
    }
    
    int main() {
        int numbers[10];
        int minIndex;
    
        inputNumbers(numbers, 10);
    
        minIndex = 0;
        for (int i = 1; i < 10; i++) {
            if (abs(numbers[i]) < abs(numbers[minIndex])) {
                minIndex = i;
            }
        }
    
        if (minIndex != 9) {
            int temp = numbers[minIndex];
            numbers[minIndex] = numbers[9];
            numbers[9] = temp;
        }
    
        printf("绝对值最小的数: %d\n", numbers[9]);
        printf("交换后的十个数: ");
        for (int i = 0; i < 10; i++) {
            printf("%d ", numbers[i]);
        }
        printf("\n");
    
        return 0;
    }
    

    这样重构后的代码更加简洁,可读性也更好。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月24日