有以下程序: #include struct S{int n;int a[20];}; void f(struct S*P) {int i,j,t; for(i=0;in一1;i++) for(j=i+

admin2019-01-11  31

问题 有以下程序:   
    #include
    struct S{int n;int a[20];};
    void f(struct S*P)
    {int i,j,t;
    for(i=0;in一1;i++)
    for(j=i+1;jn;J++)
    if(p>a>p—>a[j]){t=p—>a;p—>a=p>a[j];p—>aEj]=t;}
    }   
    main()
    {int i;struct S s={10,{2,3,1,6,8,7,5,4,10,9}};
    f(&s);   
    for(i=0;i);
    }
    程序运行后的输出结果是(    )。

选项 A、1,2,3,4,5,6,7,8,9,10,
B、10,9,8,7,6,5,4,3,2,1,
C、2,3,1,6,8,7,5,4,10,9,
D、10,9,8,7,6,1,2,3,4,5,

答案A

解析 结构体s中n代表数组的实际长度,a是个定长数组。函数f()对结构体s内的a数组元素使用冒泡法进行递增排序。因此最终数组的元素是一个递增序列。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/84xp777K
0

最新回复(0)