以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的空白处(横线上方)填入一条语句或者一个表达式。   voi

题目
问答题
以下函数的功能是按照从大到小的顺序输出两个整数。请分别在程序的空白处(横线上方)填入一条语句或者一个表达式。   void FUN1(int a,int b)   { int temp;   if(   ①   ){     temp=a;       ②      }    printf(“%d,%d”,a,b);   }
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请补充main函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。

例如,输入:12,45,43,最大值为45。

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

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

试题程序:

include<stdio.h>

include<conio.h>

main()

{

int a, b, c, max;

clrscr();

printf("\nlnput three numbers:\n");

scanf("%d,%d,%d",&a,&b,&c);

printf("The three numbers are:%d,

%d,%d\n",a,b,c);

if(a>b)

【 】;

else

【 】;

if(max<c)

【 】;

printf("max=%d\n",max);

}


正确答案:max=a max=b max=c
max=a max=b max=c 解析:第一空:如果a大于b,则a为a,b中的最大值,将a赋给inax。第二空:如果a小于b,则b为a,b中的最大值,将b赋给max。第三空:最后将a,b中的最大值与c进行比较,如果c更大,则c为3个数中的最大数,将c赋给 max,否则最大数max不变。

第2题:

请补充main函数,该函数的功能是:输出一个3×3的矩阵,要求必须使用行指针表示输出变量。

注意;部分源程序给出如下.

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

试题程序:

include<s tdio. h>

main()

{

static int array[3] [3]={{9,8,7}, {6,5,

4}, (3,2,1}};

iht (*p) [3],j,i;

p=【 】

clrscr ();

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

{

printf (" \n\n" );

for (j=0; j<3; j++)

printf("%4d",【 】);

}

}


正确答案:array *(*(p+i)+j)
array *(*(p+i)+j) 解析:第一空:p是一个指针,指向大小为3的一维数组。首先要使指针p指向数组array的首地址,而数组名array即表示数组slray的首地址,所以将array赋给p。第二空:*(*(p+i+j)表示数组的第i行第j列元素,即array[i][j]。

第3题:

从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。


正确答案:
#include "stdio.h"
main
{ inti,j,a[10];
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
for(i=0;i<9=;i++)
for(j=9;j>i;j--)
if(a[j-1]{ t=a[j-1];
a[j-1]=a[j];
a[j]=t; }
for(i=0;i<10;i++)
printf("%d",a[i]);
}

第4题:

请补充main函数,该函数的功能是:输入两个正整数m和n,求这两个数的最大公约和最小公倍数。

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

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

试题程序:

include <stdio.h>

main ( )

{

int a, b, n, m, t;

clrscr ();

printf ("\nInput two numbers: \n");

scanf ("%d, %d", &n, &m);

if (n<m)

{

a=m;

b=n;

}

else

{

a=n;

b=m;

}

while(【 】)

{

t=【 】

a=b;

b=t;

}

printf ("greatest con. non divisor:

%d\n", a);

printf ("least common multiple:

%d\n",【 】);

}


正确答案:b!=0 a%b; n*m/a
b!=0 a%b; n*m/a 解析:第一空:本题考查求最大公约数和最小公倍数的方法。变量a保存两数中较大着,变量b保存较小者,采用循环的方法求解最大公约数,循环结束条件是b等于0。第二空:求解最大公约数的思路是,将a对b求余,如果余数为0, 则b即为两数的最大公约数,如果余数不为0,则将b赋给a,余数赋给b,继续将a对b求余,如此循环,直到余数为0。第三空:最小公倍数等于两数的乘积除以最大公倍数。

第5题:

请补充main函数,该函数的功能是:输出方程组“A+B=56,A+2B=72”的一组正整数解。本题的结果是: A=40,B=16。

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

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

试题程序:

include<stdio. h>

main()

{

int i, j;

clrscr ();

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

for (j=0; j<100; j++)

if(【 】)

printf ("A=%2d,B=%2d",【 】);

}


正确答案:i+j==56&&i+2*j==72 ij
i+j==56&&i+2*j==72 i,j 解析:第一空:如果两数i和j司时满足条件:i+j==52,i+2*j==60,则i和j就是方程组的解。两个条件要同时满足,一不可,所以要用“与”运算符——“&&”。第二空:出于要输出方程组的解,所以标准输出函数printf()的输出列表是i和j。

第6题:

请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。

例如,输入:-3847652,结果为:3847652。

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

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

试题程序:

include<stdio.h>

include<conio.h>

main()

{

long int n;

clrscr();

printf("Enter the data;\n");

scanf(【 】);

printf("*** the absolute value ***\n");

if(n<0)

【 】

printf("\n\n");

printf(【 】);

}


正确答案:"%1d"&n n=-n; "%1d"n
"%1d",&n n=-n; "%1d",n 解析:第一空:本题考查对标准输入函数scanf()的调用格式,当输入为长整型数时,格式控制字符串为“%1d”,输入的长整数存于变量n中。第二空:当输入的数是负数时,则取它的相反数,即为它的绝对值。第三空:本题考查对标准输出函数print()的调用格式,当输出为长整型数时,格式控制字符串为“%1d”。

第7题:

请补充函数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,得到数组最后一个元素的下标。

第8题:

请在函数fun()的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波那契数列。斐波那契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…。

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

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

试题程序:

include<stdio.h>

int fun(int n);

main()

{

int i,n=0;

scanf("%d",&n);

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

printf("%d",fun(i));

}

int fun(int n)

{

if(【 】)

return 0;

else

if(【 】)

return 1;

else

return【 】;

}


正确答案:n==0 n==1 fun(n-1)+fun(n-2)
n==0 n==1 fun(n-1)+fun(n-2) 解析:第一空:斐波那契数列的特点是,第一项为0,第二项为1,从第三项开始,每数等于前面两数之和,所以n==0和n==1都是递归的终止条件,当n==0时,返回0。第二空:当n==1时,返回1。第三空:当n为非0和非1的数时,n对应的斐波那契数为前两项之和,即返回fun(n-1)+fun(n-2)。

第9题:

请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0时结束。

例如,输入1,2,3,5,4,0时,最大的数为5。

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

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

试题程序:

include<stdio.h>

include<conio.h>

define N 100

main()

{

int num[N];

int i=-1;

int max=0;

clrscr();

printf("\nInput integer number:\n");

do

{

i++;

printf("num[%d]=",i);

scanf("%d",【 】);

max=【 】num[i]:max;

}while (【 】);

printf("max=%dkn",max);

}


正确答案:&num[i] maxnum[i]? num[i]!=0
&num[i] maxnum[i]? num[i]!=0 解析:第一空:注意掌握标准输入函数scanf()的调用格式,输入参数列表中变量前面要使用求址运算符&。第二空:注意掌握条件表达式的用法,当输入的数比最大值大时,则认为此输入的数为最大值,否则最大值不变。第三空:题目要求输入的整数以0结束,所以,当输入的数不为0时,继续do—while循环,否则终止循环。

第10题:

请编写函数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中元素的个数返回到主函数中。

更多相关问题