首页 > 干部教育培训
题目内容 (请给出正确答案)
[主观题]

请编写函数voidfun(int x,int pp[], int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从

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

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

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

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

试题程序:

include <conio.h>

include <stdio.h>

void fun (int x, int pp[], int *n)

{

}

main()

{

int x,aa[1000], n, i ;

clrscr();

printf("\nPlease enter an integer

number : \n ") ;

scanf ("%d", &x) ;

fun (x, aa, &n) ;

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

printf ("%d ", aa [i]);

printf ("\n ") ;

}

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“请编写函数voidfun(int x,int pp[], i…”相关的问题
第1题
请编写函数fun,函数的功能是:将3行4列矩阵x乘以4行3列矩阵y,结果放在 3行3列矩阵xy中。矩阵相乘的
基本方法是:矩阵xy中行列下标分别为i、j的元素的值,是矩阵x中第i行上4个元素与矩阵y中第j列上4个元素对应相乘的和。 注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 include <conio.h> include <stdio.h> void fun(int a[3][4],int b[4][3],int ab[3][3]) { } main() {int x[3][4]={{1,0,1,1},{2,1,0,1},{1,2,0,3}}; int y[4][3]={{1,1,1},{0,0,0},{2,1,1},{1,1,3}}; int xy[3][3]={0},i,j; clrscr(); fun(x,y,xy); printf("a x b=ab:(3,3):"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d",xy[i][j]); printf("\n"): } NONO();/*本函数与考生答题无关,考生不得改动,否则后果自负。*/ }

点击查看答案
第2题
函数 1.实验目的 ①掌握定义函数的方法。 ②掌握函数实参与形参的对应关系以及“值传递”的方式。 ③掌握甬数

函数

1.实验目的

①掌握定义函数的方法。

②掌握函数实参与形参的对应关系以及“值传递”的方式。

③掌握甬数的嵌套调用和递归调用的方法。

④掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。

⑤学习对多文件程序的编译和运行。

2.实验内容

编程序并上机调试运行。

①已有变量定义和函数调用语句int a=1,b=-5,c; c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。

Fun(int x,int y)

{ }

②有函数调用语句c=add(a,b);请编写add函数,计算两个实数a和b的和,并返回和值。

double add(double x,double y)

{ }

③利用递归方法求5!。

④利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

⑤有5个人坐在一起,问第五个人的岁数,他说比第四个人大2岁。问第四个人岁数,他说比第三个人大2岁。问第三个人,叉说比第二个人大两岁。问第二个人,又说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人的岁数,就需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

⑥以下程序运行后输入:3,abcde<回车>,则输出结果是______。

#include

move(char*str,int n)

{char temp;int i;

temp=sTR[n-1];

fOr(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chaR s[50];int n,i,z;

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

z=strlen(s);

for(i=1;i<=n;j++)

move(s,z);

printf("%s\n",s);

}

⑦编写函数求:1-1/2+1/3-1/4+1/5-1/6+1/7-…1/n

⑧编程输出如下图形,

即一个由*组成的正六边形,注意是空心的。

3.理解变量的作用范围

①学习static定义静态变量的用法。

#include"stdio.h"

varfunc()

{

int var=0;

static int static_var=0;

printf("\40:var equal%d\n",var);

printf("\40:static var equal%d\n",static_var);

printf("\n");

var++;

static_var++;

}

voidmain()

{inti;

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

varfunc();

}

②学习使用auto定义变量的用法。

#include"stdio.h"

main()

{inti,num;

num=2;

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

{ printf("\40:The num equal%d\n",num);

num++;

{

auto int num=1;

printf("\40:The internal block num equal%d\n",num);

num++;

}

}

}

③学习使用static的另一用法。

#include"stdio.h"

main()

{

inti,num;

num=2

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

{

printf("\40:The hum equal%d\n",num);

num++;

{

static int num=1;

printf("\40:The internal block hum equal%d\n",hum);

num++;

}

}

}

④学习使用external的用法。

#include"stdio.h"

int a,b,c;

void add()

{int a;

a=3;

c=a+b

}

voidmain()

{ a=b=4;

add();

printf("The value of c is equal to%d\n",c);

}

⑤学习使用register定义变量的方法。

voidmain()

{

register int i;

int tmp=0:

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

tmp+=i;

printf("The sum is%dha",tmp);

}

(6)宏#define命令练习(1)

#include"stdio.h"

#defineTRUE 1

#define FALSE 0

#define SQ(x)(x)*(x)

voidmain()

{

int num;

int again=1;

printf("\40:Program will stop if input value less than 50.\n");

while(again)

{

printf("\40:Please input number==>");

scanf("%d",&num);

printf("\40:The square for this number is%d\n",SQ(num));

if(num>=50)

again=TRUE;

else

again=FALSE;

}

}

点击查看答案
第3题
已知“int*a[3],b=fun(a);”,则fun()函数原型为()。

A.voidfun(int(*p)[3]);

B.voidfun(int**p);

C.intfun(int(*p)[3]);

D.intfun(int*p[]);

点击查看答案
第4题
已有变量定义和函数调用语句:int a=1,b=-5,c;c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。 fun(int x,int y) { }
点击查看答案
第5题
下列函数原型中,正确的是()。

A.voidfun(inta=10,intb,intc)

B.voidfun(inta=10,intb=5,intc)

C.voidfun(inta,intb=5,intc=8)

D.voidfun(int,int=5,int)

点击查看答案
第6题
以下函数用以求y的x次方。补足所缺语句。 double fun(double y,int x) { int i; d

以下函数用以求y的x次方。补足所缺语句。 double fun(double y,int x) { int i; double z=1.0; for(i=1;i______;i++) z=______; returnz; }

点击查看答案
第7题
以下函数的功能是:求x的y次方。请填空。 double fun(double X,int y) {int i; double z=1.0; for(i=1;i

以下函数的功能是:求x的y次方。请填空。

double fun(double X,int y)

{int i;

double z=1.0;

for(i=1;i<=y;i++)

______;

return z;

}

点击查看答案
第8题
以下函数用以求x的y次方。补足所缺语句。 Double fun(double x,int y) { int i;double z=

以下函数用以求x的y次方。补足所缺语句。 Double fun(double x,int y) { int i;double z=1; for(i=1;i【 】;i++) z=【 】; return z; }

点击查看答案
第9题
函数fun的功能是计算xn: double fun(double x, int n) { int i; double y=1; for(i

函数fun的功能是计算xn: double fun(double x, int n) { int i; double y=1; for(i; =1; i<=n; i++)y=y*x; return y; } 主函数中已正确定义m、a、b变量并赋值,并调用fun函数计算:m=a4+b4-(a+B)3。实现这一计算的函数调用语句为【 】。

点击查看答案
第10题
以下sum函数的功能是计算下列级数之和。 请给函数中的各变量正确赋初值。 double

以下sum函数的功能是计算下列级数之和。

请给函数中的各变量正确赋初值。 double sum(double x,int n) { int i;double a,b,s; 【 】 for(i=1;i<=n;i++) { a=a*x;b=b*i;s=s+a/b;} return s; }

点击查看答案
第11题
以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值,请填空。 #defineN 3

以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值,请填空。

#defineN 3

#defineM 4

void LineMax(int x[N][M])

{

int i,j,p;

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

{

p=0;

for(j=1;j<M;j++)

if(x[i][p]<x[i][j])______;

printf("The max value in line%d is%d\n",i,x[i][p]);

}

}

main()

{

int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

______;

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改