以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的空白处(横线上方)填入一条语句或者一个表达式。   void FUN1(int a,int b)   { int temp;   if(   ①   ){     temp=a;       ②      }    printf(“%d,%d”,a,b);   }

题目

以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的空白处(横线上方)填入一条语句或者一个表达式。   void FUN1(int a,int b)   { int temp;   if(   ①   ){     temp=a;       ②      }    printf(“%d,%d”,a,b);   }


相似考题
更多“以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的”相关问题
  • 第1题:

    请补充函数fun(),该函数的功能求能整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。

    例如当x=20时,依次输出:20 10 4 2。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    void fun(int k,int bb[ ])

    {

    int i;

    int j=0;

    for(【l】;i<=k;i++)

    {

    if(【 】)

    bb[i++]=i;

    }

    printf("\n\n");

    for(i=【 】;i>=0;i--)

    printf(“%d”,bb[i]);

    }

    main( )

    {

    int k=1;

    int bb[100];

    clrscr( );

    printf(“\nPlease input X=”);

    scanf(“%d”,&k);

    fun(k,bb);

    }


    正确答案:i=l k%i==0&&i%2==0 -j
    i=l k%i==0&&i%2==0 -j 解析:第一空:为了求出能整除k,且是偶数的数,寻找范围是从1到k。第二空:如果i能整除k,则k对i求余为0,如果i为偶数,则i对2求余为0,由于这两个条件要同时满足,所以要使用“与”运算符“&&”。第三空:由于数组bb[]中的数是按从小到大的顺序排列的,而题目要求按从大到小输出,所以从数组的最后一个元素开始,依次输出。因为在for循环中,变量j多加了一次,所以这里要将j减1,得到数组最后一个元素的下标。

  • 第2题:

    程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。请改正错程序中的错误。如输入:1+2将输出:1+2=3


    /**/if(m%i==0)/**/
    /**/if(i>k)/**/或/**/if(i==k+1)/**/

  • 第3题:

    程序test.c的功能是:将大于整数m且紧靠m的k个素数存入数组XX。请考生编写函数num(intm,intk,intxx[])实现程序的要求,最后调用函数readwriteDAT0把结果输出到0ut.dat文件中。 例如,若输入17,5,则应输出:19,23,29,31,37。


    正确答案:
    【审题关键句】将大于整数m且紧靠m的k个素数存入数组。
    【解题思路】
    ①首先定义一个计数变量cnt并赋初值为0。
    ②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量cnt的值与变量k的值相等的时候,则退出while循环。每执行一次循环时,变量m的值加1,然后调用函数isP判断当前的m值是否为素数,如果是素数,则将m的值赋给数组xx[cnt],同时计算变量cnt的值加1,即当数组xx[0]中保存了一个素数之后,在T一次素数判断成立时将保存到xx[1]的位置上,依次类推。
    【参考答案】

  • 第4题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。 例:原文:dAe,BfC. CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新存入字符串数组中。
    【解题思路】
    ①首先定义字符变量ch和无符号整型变量i、j、k。
    ②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等于strlen(xx[i]),对每一行中的数组元素xx[il[j]、XX[i][k]按照它们的ASCII码值的大小进行比较,如果xx[i][j]的ASCII码小于XX[i][k]的ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小的顺序进行排序。
    【参考答案】

  • 第5题:

    程序test.c的功能是:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10小于100。请考生编写函数countvalue实现程序要求,最后调用函数wfiteDAT把结果cnt和sum输出到文件out.dat中。(数值l不是素数)


    正确答案:
    【审题关键句】100以内(含l00)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。
    【解题思路】
    ①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i的值加1,直到i<90。
    ②在for循环中,每执行一次循环则调用函数isPrime(该函数具体的算法已经在源程序中给出,直接用即可),对i、 i+4、i+10是否同时是素数进行判断,如果这三个数同时为素数,则计数变量cnt值加1,同将时将变量i的值累加到sum上。
    【参考答案】

  • 第6题:

    请编写函数void proc(int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数、不为1的各整数,并按从大到小的顺序放在PP所指的数组中,这些除数的个数通过形参n返回。

    例如,若x的值为30,则有3个数符合要求,它们是15,5,3。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

    试题程序:


    正确答案:


    【解析】按照题目中要求,求出能整除x且不是偶数的各整数。首先判断小于等于整数x的所有奇数是否能被x整除,将能被x整除的奇数放入数组pp中。最后将数组pp中元素的个数返回到主函数中。

  • 第7题:

    请补充主函数main(),该函数的功能是:把从键盘输人的3个整数按从小到大输出。 例如,输入“506040”,结果输出“405060”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在横线上填人所编写的若干表达式或语句。 试题程序:


    正确答案:
    【1】x>y【2】x>z【3】y>z【解析】由程序最后的输出可知变量x中存放3个整数中最小的,变量2中存放3个整数中最大的。当x大于y时,变量x和y互换,因此,【1】处填x>y。当x大于2时,变量x和z互换,因此,【2】处填x>z。当y大于z时,变量y和z互换,因此’【3】处填y>z。

  • 第8题:

    函数ReadDat( )的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD( ),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat( )把结果xx输出到文件OUT7.DAT中。

    例如,原文:dAe,BfC

    CCbbAA

    结果:fedCBA,

    bbCCAA

    原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

    注意:部分源程序已给出。

    请勿改动主函数main( )、读函数ReadDat( )和写函数WriteDat( )的内容。


    #include
    #include
    #include
    char xx[50][80];
    int maxline=0;
    int ReadDat(void);
    void WriteDat(void);
    void SortCharD()
    {
    int i,j,k; /*定义循环控制变量*/
    int str; /*存储字符串的长度*/
    char temp; /*定义数据交换时的暂存变量*/
    for (i=0;i
    {
    str=strlen(xx[i]); /*求得当前行的字符串长度*/
    for(j=0;j
    for(k=j+1;k
    if(xx[i][j]
    {
    temp=xx[i][j];
    xx[i][j]=xx[i][k];
    xx[i][k]=temp;
    }
    }
    }
    void main()
    {
    system("CLS");
    if (ReadDat())
    {
    printf("数据文件IN7.DAT不能打开!\n\007");
    return;
    }
    SortCharD();
    WriteDat();
    }
    int ReadDat(void)
    {
    FILE *fp;
    int i=0;
    char *p;
    if((fp=fopen("IN7.DAT","r"))==NULL)
    return 1;
    while (fgets(xx[i],80,fp)!=NULL)
    {
    p=strchr(xx[i],'\n');
    if (p) *p=0;
    i++;
    }
    maxline=i;
    fclose(fp);
    return 0;
    }
    void WriteDat()
    {
    FILE *fp;
    int i;
    system("CLS");
    fp=fopen("OUT7.DAT","w");
    for(i=0;i
    {
    printf("%s\n",xx[i]);
    fprintf(fp,"%s\n",xx[i]);
    }
    fclose(fp);
    }

  • 第9题:

    下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,请填空。


    正确答案:

  • 第10题:

    土壤三相的导热率从大到小顺序是(),土壤三相的导热率从大到小顺序是()。


    正确答案:水分>固相>空气;固相>水分>空气

  • 第11题:

    以下叙述正确的是()。

    • A、对于收件人地址的书写,中英文的书写顺序是一致的
    • B、英文地名是按照从小到大的顺序排列的
    • C、中文地名是按照从小到大的顺序排列的
    • D、英文地名是按照从大到小的顺序排列的

    正确答案:B

  • 第12题:

    问答题
    以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的空白处(横线上方)填入一条语句或者一个表达式。   void FUN1(int a,int b)   { int temp;   if(   ①   ){     temp=a;       ②      }    printf(“%d,%d”,a,b);   }

    正确答案: ①a<b
    ②a=b;b=temp;
    解析: 暂无解析

  • 第13题:

    以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。includevoid f(char p

    以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[][10],int n) { char t[20];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j]<0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() { charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”};int i; f(p,5);printf(“%d\n”,strlen(P[0])); } 程序运行后的输出结果是

    A.6

    B.4

    C.5

    D.3


    正确答案:C
    解析:函数stremp(字符串1,字符串2)作用是将“字符串1”和“字符串2”进行比较,如果“字符串1”>“字符串2”,返回一个大于0的整数值;如果“字符串1”“字符串2”,返回一个小于0的整数值;如果“字符串1”=“字符串2”,返回0。函数 strepy(字符串数组名,字符串,[整型表达式]),整型表达式的作用是将“字符串”的前“整型表达式”个字符存入到指定的“字符数组”中,若省略“整型表达式”,则将整个“字符串”存入“字符数组”中。函数f()的功能是利用选择法把一个具有n行的二维数组中按行存放的n个字符串由大到小排序。在主函数中定义了一个二维字符数组p并给它按行赋初值,然后调用f()函数,把它按行从大到小排列。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串。由此可知最大的字符串为“dcdbe”,排序后存放在第一行,其首地址为P[0],在输出语句输出的P[0]指向的字符串长度是5。

  • 第14题:

    下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

    例如,若nmnl和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,

    则输也的最大公约数为27。

    请改正程序中的错误,使它能得出正确结果。

    注意:不要改动main函数,不得增行或硼行,也不得更改程序的结构!

    试题程序:


    正确答案:

  • 第15题:

    程序test.c的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第1个素数.第2个素数+第3个素数.第4个素数+第5个素数…的值sum。请编写函数count Value实现程序的要求,最后main函数调用函数writeOAT把结果cnt和Sum,输出到文件out.dat中。


    正确答案:
    【审题关键句】计算500~800区间内素数的个数,素数的值从大到小排序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值。
    【解题思路】
    ①首先定义一个循环变量循环i和用于正负号转换的变量j,同时赋i的初值为-1。
    ②通过for循环对800到500的每个数字进行逐个的扫描,指定循环变量i的初值为800,当i值等于500停止循环,每执行一次循环,i的值便减1。(注意,本题for循环从大到小依次读取数据是根据题目要求设计的,这样得到的素数值其排序方式就是从大到小排序。)
    ③在每次执行for循环时,都调用素数判断函数isPrime判断当前的i值是否为素数,如果是素数,则素数计数变量cnt值加1,正负号转换变量j的值乘以-1,实现正负数的交替转换,最后将每次循环得到的i*j的值累加到求和变量 sum中。
    【参考答案】

  • 第16题:

    程序test.c的功能是:在三位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b[]中。条件如下:某数既是完全平方数,又有两位数字相同,例如144、676等。 请考生编制函数intjsValue(int bb[])实现此功能,满足该条件的整数的个数通过所编制的函数返回。 最后调用函数writeDat把结果输出到文件out.dat中。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main和写函数writeDat的内容。


    正确答案:
    【审题关键句】完全平方根,有两个相同数。
    【解题思路】
    ①首先,本题要定义多个变量,包括一个循环变量k;一个用来保存k平方的变量n;一个数组下标变量cnt并赋初值为0;存放三位数分解之后各位数的变量a(百位)、b(十位)、c(个位)。
    ②通过for循环筛选满足条件的数。大致分4步设定筛选条件,第一步设定判断条件,循环变量的初值从l0开始,因为从l0开始的数,其平方数最少也是3位数,循环的终止条件此处先留空,在后面的循环体中进行设定,每执行一次循环,变量k的值加1;第二步指定变量n的值等于k的平方,判断变量n的值如果小于l00则进入下一次循环,如果n值大于999则退出整个for循环,这表示只有n值在100和999(包含)之间才执行条件表达式后面的语句;第3步是分解满足条件的三位数,得到每位数上的数字,然后通过if条件语句判断三个数中是否有两个数相等,即可以通过表达式“(a-b)*(a-c)*(b-c)=0”进行判断;第四步将满足条件的数输出,并把满足条件的三位数n赋给数组元素bb[cnt],同时数组下标变量cnt加1。
    ③返回满足条件的三位数的个数cnt。
    【参考答案】

    第3类素数的整除

  • 第17题:

    下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若numl和num2分别为49和21,则输出的最大公约数为7;若numl和num2分别为27和81,则 输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构。


    正确答案:
    【参考答案】
    (1)t=a;a=b;b=t;
    (2)return(b);或return b;
    【考点分析】
    本题考查:return语句,功能是计算表达式的值,并将其返回给主调函数。
    【解题思路】
    求最大公约数算法一般采用辗转相除法。辗转相除法的算法为:首先将m除以n(m>n)得余数r,再用余数r去除原来的除数,得到新的余数,重复此过程直到余数为0时停止,此时的除数就是m和n的最大公约数。程序首先判断参数a和b的大小,如果a<b则进行交换,这里是一个数学逻辑错误,应先将a的值赋给中间变量t,再将h的值赋给a,最后将t的值赋给b。当余数r为0时,除数b即为所求的最大公约数,所以函数应返回b。

  • 第18题:

    下列给定程序中,函数proc()的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若proc()返回1,则输出″YES″;若proc()返回0,则输出″NO″!

    请修改程序中的错误,使它能得出正确的结果。

    注意:不要改动main)函数,不得增行或删行,也不得,t更改程序的结构。

    试题程序:


    正确答案:

    (1)错误:k++
    正确:k++;
    (2)错误:if(m=k)
    正确:if(m==k)
    【解析】根据C语言的语法规则,每一条语句都要以分号结束,因此,要在语句“k++”之后加上分号。判断变量m与变量k是否相等应该用符号“==”,符号“=”为赋值符号,因此,“if(m=k)”应改为“if(m==k)”。

  • 第19题:

    已知数据文件IN1.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal( ),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT1.DAT文件。

    注意:部分源程序已给出。

    程序中已定义数组:a[200],b[200],已定义变量:cnt。

    请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。


    #include
    #define MAX 200
    int a[MAX],b[MAX],cnt=0;
    void writeDat();
    void jsVal()
    {
    int i,j; /*定义循环控制变量*/
    int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
    int temp; /*定义数据交换时的暂存变量*/
    for(i=0;i<200;i++) /*逐个取每一个4位数*/
    {
    a4=a[i]/1000; /*求4位数的千位数字*/
    a3=a[i]%1000/100; /*求4位数的百位数字*/
    a2=a[i]%100/10; /*求4位数的十位数字*/
    a1=a[i]%10; /*求4位数的个位数字*/
    if(a4%2!=0 && a3%2!=0 && a2%2!=0 && a1%2!=0)
    /*如果4位数各位上的数字均是奇数*/
    {
    b[cnt]=a[i]; /*将满足条件的数存入数组b中*/
    cnt++; /*统计满足条件的数的个数*/
    }
    }
    for(i=0;i
    for(j=i+1;j
    if(b[i]
    {
    temp=b[i];
    b[i]=b[j];
    b[j]=temp;
    }
    }
    void readDat()
    {
    int i;
    FILE *fp;
    fp=fopen("IN1.DAT","r");
    for(i=0;i
    fscanf(fp,"%d",&a[i]);
    fclose(fp);
    }
    void main()
    {
    int i;
    readDat();
    jsVal();
    printf("满足条件的数=%d\n",cnt);
    for(i=0;i
    printf("%d\n",b[i]);
    printf("\n");
    writeDat();
    }
    void writeDat()
    {
    FILE *fp;
    int i;
    fp=fopen("out1.dat","w");
    fprintf(fp,"%d\n",cnt);
    for(i=0;i
    fprintf(fp,"%d\n",b[i]);
    fclose(fp);
    }

  • 第20题:

    根据条件,回答 46~48 题: 以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。

    第46题:请填写【1】处答案 。


    正确答案:
    Rnd或Rnd(n),其中n为任意整数

  • 第21题:

    下面程序的功能是:从输入的正整数中选3个数进行输出,要求这些数都是2的倍数,请填空。


    正确答案:

  • 第22题:

    在WINDOWS窗口中,按大小来排列文件和文件夹的顺序时,是按照从大到小的顺序。()


    正确答案:错误

  • 第23题:

    单选题
    以下叙述正确的是()。
    A

    对于收件人地址的书写,中英文的书写顺序是一致的

    B

    英文地名是按照从小到大的顺序排列的

    C

    中文地名是按照从小到大的顺序排列的

    D

    英文地名是按照从大到小的顺序排列的


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