• 2021-04-14
    输入10个数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7 9 2 4 6 8 10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。 程序运行结果如下:Input 10 numbers:3 12 7 65 8 4 17 25 36 50↙Output: 3,7,17,25,65,4,8,12,36,50在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include int main(){ int arr[10], brr[10]; int i, j, tmp; printf(Input 10 numbers:
    ); for (i = 0; i < 10; i++) { scanf(%d, &arr[i]); } for (i = 0; i < 9; i++) { for (j = i + 1; j < 10; j++) { if (____________) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } } for (i = 0, j = 0; i < 10; i++) { if (__________) { brr[j++] = arr[i]; } } for (i = 0; i < 10; i++) { if (___________) { brr[j++] = arr[i]; } } printf(Output: ); for (i = 0; i < 10; i++) { if (i < 9) { printf(%d,, brr[i]); } else { printf(%d
    , brr[i]); } }}
  • 第16行: arr[j] < arr[i]第27行: arr[i] % 2 == 1第35行: arr[i] % 2 == 0

    举一反三

    内容

    • 0

      要求下面的程序运行后,显示如下结果: 2 10 4 6 1 5 2 3 2 4 7 8 5 1 3 2 则程序中的划线处应填入( ). #include void main( ) { int a[4][4]={ ________ }; int i,j; for(i=0;i<4;i++) {for(j=0;j<4;j++) printf('%4d',a[i][j]); printf(' '); } }

    • 1

      定义一个二维数组: int array&#91;10&#93;&#91;10&#93;,表示一个10*10的矩阵,设循环变量i,j,则以下哪个循环语句可以完成对这个二维数组的遍历且没有越界操作() A: for(i=0;i<10;i++) for(j=0;j<10;j++) array[i][j]; B: for(i=0;i<=10;i++) for(j=0;j<=10;j++) array[i][j]; C: for(j=0;j<10;j++) array[i][j] D: for(i=0;i<10;i++) array[i][i]

    • 2

      关于二维数组的输入输出,以下说法正确的是()。 A: 以下程序段,将输入a的全部元素。int a[3][4],i,j;for(i=0;i<;2;i++) for(j=0;j<;4;j++) scanf("%d",&amp;a[i][j]); B: 以下程序段,将输入a数组的前两行元素的数据。int a[3][4],i,j;for(i=0;i<;2;i++) for(j=0;j<;4;j++) scanf("%d",&amp;a[i][j]); C: 以下程序段,将输出a数组的全部元素int a[3][4],i,j;for(i=0;i<;3;i++) { for(j=0;j<;4;j++) printf("%d ",a[i][j]);} D: 以下程序段,将输出a数组的全部元素int a[3][4],i,j;for(i=0;i<;3;i++) { for(j=0;j<;4;j++) printf("%d ",a[i][j]);printf("\n");}

    • 3

      以下哪个for语句是不能编译的? A: for (i=0;j=0; i<10; i++ ); B: for (i=0,j=0; i<10; i++; j++ ); C: for (); D: for (;;); E: for ( i=0; j<10; j++ ); F: for (i=0; i<10, j<10; i++); G: for (i=0; i<10; i--);

    • 4

      执行以下程序段,并按照以下格式输入数据,输出结果为() 程序段: int a[3][4],i,j; for(i=0;i<2;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(j=0;j<4;j++) a[2][j]=a[0][j]+a[1][j]; for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%d ",a[i][j]); printf("\n"); } 14e98d6824e651d83f48e2473279d8bd.jpg