C语言问题求解,学校oj过不去

img


#include
int main()
{
    int i,k,min,a[1000],n,j,temp,x;
    scanf("%d",&x);
    for(i=1;i<=x;i++){
        scanf("%d",&n);
        for(k=0;k"%d",&a[k]);
        }
        min=a[0];
        for(k=0;kif(min>=a[k]) j=k;
        }
        temp=a[j]; a[j]=a[0]; a[0]=temp;
        for(k=0;k"%d ",a[k]);
        }
        if(i"\n");
    }
 } 
  • 输入的几组数组,都要计算过了,再输出;要想实现这种效果,就需要把计算结果存下来,如下图:

img

代码在你的基础上改了一下, 参考如下:



#include<stdio.h>
int main()
{
    int i,k,min,a[10],n,j,temp,x;
    scanf("%d",&x);
    int b[x][10];
    int c[x];
    for(i=1;i<=x;i++){
        scanf("%d",&n);
        for(k=0;k<n;k++){
            scanf("%d",&a[k]);
        }
        min=a[0];
        j = 0;
        for(k=1;k<n;k++){
            if(min>a[k]) j=k;
        }
        if (j != 0) {
            temp=a[j]; a[j]=a[0]; a[0]=temp;
        }
        for(k=0;k<n;k++){
            b[i-1][k] = a[k];
        }
        c[i-1] = n;
    }

    for (i = 0; i < x; i++) {
        for (j = 0; j < c[i]; j++) {
            printf("%d ", b[i][j]);
        }
        printf("\n");
    }
 }