niusouti.com
更多“1、2、3、4、5、6、7、8、9这九个数字各用一次,组成三个能被9整除的三位数,这三个数的和最大是:”相关问题
  • 第1题:

    阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。

    在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例:序列{6,8,9,1,2,5,4,7,3}

    经重排后成为{3,4,5,2,1,6,8,9,7}

    【函数】

    include < stdio. h >

    include < conio. h >

    void jsValue( int a [10] [9] )

    { int i,j,k,n,temp;

    int b[9];

    for(i=0;i<10;i++)

    { temp=a[i] [0];

    k=8;n=0;

    for(j=8;j=0;j--)

    { if(temp < a[i] [j]) (1)=a[i][j];

    if(temp >a[i] [j]) (2)=a[i][j];

    if(temp =a[i] [j]) (3)= temp;

    }

    for(j=0;j<9;j++) a[i][j] =b[j];

    }

    }

    void main( )

    int a[10] [9] = {{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7}, {3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6}, {4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7}, {2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4}, {7,1,3,2,5,8,9,4,6}

    };

    int i,j;

    (4);

    for(i=0;i<10;i++) {

    for(j=0;j<9;j++) {

    printf("%d",a[i] [j] );

    if((5))printf(",");

    }

    printf(" \n" );

    }

    getch( );

    }


    正确答案:(1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7
    (1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7 解析:在主函数中先要调用函数jsValue()对数组a进行处理,所以(4)空应填入“jsValue(a)”。然后输出数组元素,同一行的元素之间用逗号分隔,所以(5)空应填入“j=7”。
    函数jsValue()是将数组按题目要求进行排序。通过观察发现处理后的数组中元素的顺序与原来的顺序相反,并且每一行中没有与第一个数相同的数,所以是从后往前处理,也就是将每组从最后往前倒序逐个问第一个数比较,比它大的就放到临时数组b中的最后,比它小的就放到临时数组b中的最前面,以次类推,所以(1)空应填入“b[k- -]”,(2)空应填入“b[n++],(3)空应填入“b[n]”。最后将b数组赋给a数组。

  • 第2题:

    下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现以上功能,最后调用函数writeDat(),将新序列输出到文件out.dat中。说明:程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9] 中,分别求出这10个新序列。例如:序列{6, 8, 9, 1, 2, 5, 4, 7, 3}重排后为{3, 4, 5, 2, 1, 6, 8, 9, 7}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#include<stdio.h>void jsValue(int a[10][9]){ } void main(){ int a[10][9]={{6,8,9,1,2,5,4,7,3} {3,5,8,9,1,2,6,4,7} {8,2,1,9,3,5,4,6,7} {3,5,1,2,9,8,6,7,4} {4,7,8,9,1,2,5,3,6} {4,7,3,5,1,2,6,8,9} {9,1,3,5,8,6,2,4,7} {2,6,1,9,8,3,5,7,4} {5,3,7,9,1,8,2,6,4} {7,1,3,2,5,8,9,4,6} }; int i,j; jsValue(a); for(i=0;i<10;i++){ for(j=0;j<9;j++) { printf("%d",a[i][j]); if(j<=7) printf(","); } printf("\n");}writeDat(a);}void writeDat(int a[10][9]){ FILE *fp; int i,j; fp=fopen("out.dat","w"); for(i=0;i<10;i++){ for(j=0;j<9;j++){ fprintf(fp,"%d",a[i][j]); if(j<=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}


    正确答案:参考试题解析
    【解析及答案】
    本题的任务是把排序函数jsValue() 补充完整。本题的处理过程是对数组a[10][9] 中的每行数据分别处理,然后再放置到原来的数组a[10][9] 中。求解时需要使用一个[10][9] 的临时数组b存放处理时的中间结果。数组a处理完以后,就用数组b的内容代替数组a的内容。对每行数据进行处理时,首先需要准备两个指示器nk,分别指向数组b中该行的开头和结尾。然后,反向扫描数组a中对应的行。如果碰到比该行第1个数据值大的元素,就将其放到指示器k指向的位置;如果碰到比其数据值小的元素,就将其放到指示器n指向的位置。处理完以后,还要移动指示器nk,使其定位在新的位置,以接收后面的数据。如果碰到和其数据值相等的元素,由题意可知,这样的元素在新数组中只允许出现1次,所以直接把这个元素放到指示器nk指向的位置即可,但不必移动指示器,否则该元素有可能出现多次。综上所述,完整的排序函数jsValue() 如下。
    jsvalue(int a[10][9])
    {
      int i,j,k,n,temp;
      int b[9]=0;
       for(i=0;i<10;i++)

        temp=a[i][0];
         k=8; 
        n=0;
        for(j=8,j>=0;j--)     
    {    
          if(temp<a[i][j]) 
              b[k--]=a[i][j];
          if(temp>a[i][j])  
              b[n++]=a[i][j];
          if(temp==a[i][j])  
              b[n]=temp;     /*也可以b[k]=a[i][j];*/
    }
        for(j=0;j<9;j++)
      {
          a[i][j]=b[j];
          b[j]=0;}
      }
    }

  • 第3题:

    有以下程序程序的运行结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,SXB

    有以下程序

    程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,1,4,3,6,5,8,7,0,9,

    C.0,9,8,7,6,5,4,3,2,l,

    D.0,1,2,3,4,5,6,7,8,9,


    正确答案:A
    函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参。而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组C中的元素的值并没有变化,故选择A)。

  • 第4题:

    有0、1、4、7、9五个数字,从中选出四个数字组成不同的四位数,如果把其中能被3整除的四位数从小到大排列起来,第五个数的末位数字是多少?

    A.0

    B.1

    C.7

    D.9


    正确答案:D
    [答案] D[解析] 0+1+4+7+9=21能被3整除,从中去掉0或9选出的两组四个数字组成的四位数能被3整除。即有0、1、4、7或1、4、7、9两种选择组成四位数,由小到大排列为1047、1074、1407、1470、1479、1497、…,所以第五个数的末位数字是9。

  • 第5题:

    有以下程序:

    程序运行后的输出结果是( )。

    A.2,3,1,6,8,7,5,4,10,9,

    B.10,9,8,7,6,5,4,3,2,l,

    C.1,2,3,4,5,6,7,8,9,10,

    D.10,9,8,7,6,1,2,3,4,5,


    正确答案:C
    本题的子函数f的功能是对结构体变量。中第二个成员数组中所有的数据进行从小到大的冒泡排序,所以结果是C。

  • 第6题:

    1、2、3、4、5、8这七个数字能够组成多少个能被125整除且无重复数字的五位数? A.9 B.12 C.21 D.24


    正确答案:C
    能被125整除,则符合题意的五位数的后三位应该是125或者250。如果后三位数是125,则有3x3=9个数;如果后三位数是250,则有4x3=12个数。故一共可以组成9+12=21个能被125整除的五位数。

  • 第7题:

    设三位数2a3加上326,得另一个三位数5b9,若5b9能被9整除,则a+b等于( )。

    A. 2

    B. 4

    C. 6

    D. 8


    正确答案:C

    由2a3+326=5b9可得,a+2=b,又5b9能被9整除,可知b=4,则a=2,所以a+b=2+4=6。

  • 第8题:

    从1、2、3、4、5、6、7、8、9这几个数字中选择3个数字,使它们的乘积能够被9整除,问共有多少种不同的方法?( )

    A.34
    B.36
    C.27
    D.25

    答案:A
    解析:
    9=1×9=3×3。1~9中的三个自然数的乘积能被9整除,可以分为两种情况:(1)这三个数字中有9,则另外两个数字可在剩下8个数中任意选择,有C28=28种;(2)这三个数字中没有9,则这三个数字中必有3和6.第三个数字有9-3=6种选择。由加法原理可知,共有28+6=34种选择。

  • 第9题:

    用1到7的数字组成一个六位数密码,密码中每个数字只使用一次,在所有可能的密码排列中,能被3整除的数字占所有可能的排列数的比重为:?
    A1/6
    B2/7
    C3/7
    D1/3


    答案:C
    解析:

  • 第10题:

    从1、2、3、4、5、6、7、8、9这几个数字中选择3个数字,使它们的乘积能够被9整除,问共 有多少种不同的方法?

    a.34 b.36 c.27 d.25


    答案:A
    解析:
    9=lx9=3x3。1~9中的三个自然数的乘积能被9整除,可以分为两种情况:(1)这三个数 字中有9,则另外两个数字可在剩下8个数中任意选择,有C82=28种;(2)这三个数字中没有9,则这三个数字中 必有3和6,第三个数字有9-3=6种选择。由加法原理可知,共有28+6=34种选择。

  • 第11题:

    下列关于正餐服务步骤的排序正确的是哪项()?(1)问候客人(2)递送茶水(3)撤台(4)酒水服务(5)送别客人(6)餐间服务(7)结帐服务(8)上菜服务(9)点菜服务

    • A、(1)(2)(9)(8)(4)(6)(7)(3)(5)
    • B、(1)(2)(9)(8)(4)(6)(7)(5)(3)
    • C、(1)(2)(9)(4)(8)(6)(7)(3)(5)
    • D、(1)(2)(9)(4)(8)(6)(7)(5)(3)

    正确答案:D

  • 第12题:

    单选题
    用7、8、9三个数字组成的三位数中,从小到大排列879是第()个。
    A

    3

    B

    2

    C

    4


    正确答案: C
    解析: 暂无解析

  • 第13题:

    有以下程序:程序运行后的输出结果是( )。

    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
    本题考查的是结构体成员的引用。在主函数main中定义了一个整型变量i和一个结构体变量s。f函数中,定义了一个结构体类型的指针P,外层循环变量i表示数组的第i个元素,内层循环变量j表示数组的第i+1个元素,调用f函数,通过指针变量P来引用结构体成员。执行if语句,当P一>a[i]>P一>a[j]时进行互换,其作用就是从小到大行排序,最后将排序后的元素输出:l,2,3,4,5,6,7,8,9,10,。

  • 第14题:

    一个三位数除以9余7,除以5余2,除以4余3,这样的三位数共有( )个。

    A.5

    B.6

    C.7

    D.8


    正确答案:A
    【解析】除以4余3说明此数末尾数是奇数,除以5余2说明此数末尾为2或7,综合知此数末尾为7,又因为此数减去7后是9、5、4的公倍数,即180,360,540,720,900,综合知符合题意的三位数为:187,367,547,727,907。

  • 第15题:

    从l、2、3、4、5、6、7、8、9、10这l0个数字中, 任取5个数相加的和与其余5个数相加的和相乘,能得到多少个不同的乘积?( )

    A 1 3

    B.1 4

    C.18

    D.20


    正确答案:A
    15.A【解析】从整体考虑, 分两组和不变:1+2+3+4+5+6+7+8+9+10=55。从极端考虑分成最小和最大的两组为(1+2+3+4+5)+(6+7+8+9+10)=15+40=55, 最接近的两组为27+28,所以共有27—15+1=13个不同的积。

  • 第16题:

    有以下程序:

    A.1,2,3,4,5,6,7,8,9,0,

    B.0,9,8,7,6,5,1,2,3,4,

    C.0,9,8,7,6,5,4,3,2,1,

    D.1,2,3,4,9,8,7,6,5,0,


    正确答案:D
    fun()函数的功能是对数组a[]的元素从大到小进行排序。

  • 第17题:

    用数字4、5、6、7、8、9这六个数字组成一个六位数ABCDEF(不一定按给出数字的顺序排列),若把A移到最后,所得的六位数BCDEFA能被2整除,若再把8移到最后,所得的六位数CDEFAB能被3整除,…,依此类推,若把E移到最后,所得的六位数能被6整除,则六位数ABCDEF的最小值为( )。

    A.476598

    B.476589

    C.456789

    D.465879


    正确答案:B
    此题可用排除法,因为把D移到最后,可以被5整除,所以D一定为5,排除C、D;若要保证能被2、4、6整除,所以A、C、E必须是偶数,排除A,故选B。

  • 第18题:

    0、1、2、3、4、5、8这七个数字能够组成多少个能被125整除且无重复数字的五位数?

    A.9

    B.12

    C.21

    D.24


    正确答案:C
    能被125整除,则符合题意的五位数的后三位应该是125或者250。如果后三位数是125,则有3×3=9个数;如果后三位数是250,则有4×3=12个数。故一共可以组成9+12=21个能被125整除的五位数。

  • 第19题:

    1、2、3、4、5、6这七个数字能够组成多少个被125整除的无重复数字的五位数? A.9 B.12 C.21 D.24


    正确答案:C
    能被125整除,则五位数的后三位应该是125或者250。如果后三位数是125,则有3×3=9个数;如果后三位数是250,则有4×3=12个数。
    故一共可以组成9+12=21个被125整除的五位数。

  • 第20题:

    0、1、2、3、4、5、6这七个数字能够组成多少个被125整除的无重复数字的五位数?

    A.12
    B.21
    C.30
    D.33

    答案:C
    解析:
    能被125整除,则五位数的后三位应该是125、250或者625。
    如果后三位数是125,则有3x3=9个数;
    如果后三位数是250,则有4x3=12个数;
    如果后三位数是625,则有3x3=9个数。
    故一共可以组成9+12+9=30个被125整除且不重复的五位数。

  • 第21题:

    三个数的和为252,这三个数分别能被6,7,8整除,而且商相同,则最大的数与最小的数相差

    A.18
    B.20
    C.22
    D.24
    E.26

    答案:D
    解析:
    设商为k,则这三个数为6k,7k,8k,由三个数的和为252,可得6k+7k+8k=252,解得k=12.故8k一6k=2k=24

  • 第22题:

    一个三位数除以9余7,除以5余2,除以4余3,这样的三位数共有()。

    • A、5个
    • B、6个
    • C、7个
    • D、8个

    正确答案:A

  • 第23题:

    用7、8、9三个数字组成的三位数中,从小到大排列879是第()个。

    • A、3
    • B、2
    • C、4

    正确答案:A