首页 > 建设工程> 注册机械工程师
题目内容 (请给出正确答案)
[主观题]

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

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)

点击查看答案
第3题
下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:

下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为

a=1 9 7

2 3 8

4 5 6

则返回主程序后a数组中的值应为

0 9 7

0 0 8

0 0 0

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

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

试题程序:

include <conio.h>

include <stdio.h>

include <stdlib.h>

define N 5

int fun (int a[] [N])

{

}

main()

{

int a[N] [N],i,j;

clrscr();

printf("*****The array*****\n");

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

/*产生—个随机的5*5矩阵*/

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

{a[i][j]=rand()%10;

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

}

printf("\n");

}

fun (a);

printf("THE RESULT\n");

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

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

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

printf("\n");

}

}

点击查看答案
第4题
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun(),它的

学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把分数最低的学生数据放在h所指的数组中。注意:分数低的学生可能不只一个,函数返回分数最低学生的人数。

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

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

试题程序:

include <stdio.h>

define N 16

typedef struct

{char num[10];

int s;

}STREC;

int fun (STREC *a,STREC *b)

{

}

main ()

{

STREC s[N]={{“GA005”,82},{“GA003”,75},

{“GA002”,85},{“GA004”,78},{“GA001”,95},

{“GA007”,62},{“GA008”,60},{“GA006”,85},

{“GA015”,83},{“GA013”,94},{“GA012”,78},

{“GA014”,97},{“GA011”,60},{“GA017”,65},

{“GA018”,60},{“GA016”,74}};

STREC h[N];

int i,n;

FILE *out;

n=fun(S,h);

printf(“The %d lowest score:\n”,n);

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

printf(“%s %4d\n”,h[i].mum,h[i].s);

/*输出最低分学生的学号和成绩*/

printf(“\n”);

out=fopen("outl9.dat",“w”);

fprintf(out,“%d\n”,n);

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

fprintf(out, “%4d\n”,h[i].s);

fclose(out);

}

点击查看答案
第5题
请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。

请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。

例如,输入aeiouAOUpqn,结果为A∶2 E∶1 1∶1 O∶2 U∶2 Other∶4。

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

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

试题程序:

include<stdiO.h>

include<conio.h>

define N 100

void fun(char *str,int bb[ ])

{

char *p=str;

int i=0;

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

【 】;

while(*p)

{

switch(*p)

{

case 'A':

case 'a':bb[0]++;break;

case 'E':

case 'e':bb[1]++;break;

case 'I':

case 'i':bb[2]++;break;

case 'O':

case 'o':bb[3]++;break;

case 'U':

case 'u':bb[4]++;break;

default:【 】;

}

【 】

}

}

main()

{

char str[N),ss[6]="AEIOU";

int i;

int bb[6];

clrscr();

printf("Input a string:\n");

gets(str);

printf("the string is:\n");

puts(str);

fun(str,bb);

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

printf("\n%c:%d",ss[i],bb[i]);

printf("\nother:%d",bb[i]);

}

点击查看答案
第6题
请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小

请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。

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

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

试题程序:

include<stdio.h>

include<conio.h>

include<stdlib.h>

define N 20

void fun(【 】)

{

int i j;

int t;

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

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

if(【 】)

b[i]=a[i][j];

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

{

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

if(【 】)

{

t=b[i];

b[i]=b[j];

b[j]=t;

}

}

}

main()

{

int a[N][N];

int b[N];

int n;

int i,j;

clrscr();

printf("*****Input the dimension of array N*****\n");

scanf("%d",&n);

printf("*****The array *****\n");

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

{

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

{

a[i][j]=rand()%20;

while(a[i][j]==0)

a[i][j]=rand()%30;

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

}

printf(”\n\n”);

}

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

b[i]=0;

fun(a,b,n);

printf("***** THE RESULT *****\n");

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

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

}

点击查看答案
第7题
以下程序中函数 f 的功能是在数组 x 的 n 个数 (假定 n 个数互不相同 ) 中找出最大最小数

以下程序中函数 f 的功能是在数组 x 的 n 个数 (假定 n 个数互不相同 ) 中找出最大最小数 , 将其中最小

的数与第一个数对换 , 把最大的数与最后一个数对换 . 请填空 .

#include <stdio.h>

viod f(int x[],int n)

{ int p0,p1,i,j,t,m;

i=j=x[0]; p0=p1=0;

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

{ if(x[m]>i) {i=x[m]; p0=m;}

else if(x[m]<j) {j=x[m]; p1=m;}

}

t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;

t=x[p1]; x[p1]= _[14]_______ ; _[15]_______ =t;

}

main()

{ int a[10],u;

for(u=0;u<10;u++) scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++) printf("%d",a[u]);

printf("\n");

}

点击查看答案
第8题
请编写函数fun(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串

请编写函数fun(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

例如,若二维数组中的数据为:

W WWW

S S S S

H H H H

则字符串中的内容应是WSHWSHWSHWSH。

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

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

试题程序:

include<stdio.h>

define M 3

define N 4

void fun(char (*s)[N],char *b)

{

}

main()

{

char a[100],w[M][N]={{ 'W', 'W', 'W', 'W'},

{'S', 'S', 'S', 'S'},{'H', 'H', 'H', 'H'}};

int i,j;

printf("The matrix:\n");

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

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

printf("%3c",w[i][j]);

printf("\n");

}

fun(w,a);

printf("The A string:In");

puts(a);

printf("\n\n");

}

点击查看答案
第9题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明1] 函数void fun(char*w

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

[说明1]

函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。

[C函数1]

void fun(char*W,char x,int*n)

{ int i,P;

p=0;

w[*n]=x;

while(x>w[p]) (1) ;

for(i=*n,i>p;i--)w[i]=(2);

w[p]=x;

++*n;

}

[说明2]

函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。

[C函数2]

void revstr(char*s)

{ char*p,c;

if(s==NULL)return;

p=(3); /*p指向字符串s的最后一个有效字符*/

while(s<p){ /*交换并移动指针*/

C=*s;

(4)=*p;

(5)=c;

}

}

点击查看答案
第10题
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小
的数与第一个数对换,把最大的数与最后一个数对换.请填空.

#include <stdio.h>

viod f(int x[],int n)

{ int p0,p1,i,j,t,m;

i=j=x[0]; p0=p1=0;

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

{ if(x[m]>i) {i=x[m]; p0=m;}

else if(x[m]<j) {j=x[m]; p1=m;}

}

t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;

t=x[p1];x[p1]= _[14]_______; _[15]_______=t;

}

main()

{ int a[10],u;

for(u=0;u<10;u++) scanf("%d",&a[u]);

f(a,10);

for(u=0;u<10;u++) printf("%d",a[u]);

printf("\n");

}

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