题目内容 (请给出正确答案)
[主观题]

数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)

数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3,8,13,18,23,28,…, 93,98。符合此条件的累加值应为42,126,366,570,1010。

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

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

试题程序:

include <stdio. h>

define N 20

int fun(iht n, int *a)

/*************found*************/

{ int i, j, k, sum;

sum=0;

for(k=3, i=0;i<n; i++, k+=5)

{ sum=sum+ k;

/************found***************/

if (sum%4=2)

a [j++] =sum;

}

/*************found**************/

return j;

}

main ()

{ int a[N],d, n, i;

printf("\nEnter n(4<=n<=50): ");

scanf("%d", &n);

d=fun(n, a);

printf("\n\n The result :\n ");

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

printf("\n\n ");

}

提问人:网友liuwei308025 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中…”相关的问题
第1题
已知一个数列从0项开始的前3项为0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc 的功能是:计算并输出该数列前n项的和sum。n的值通过形参传人。例如,当n=20时,程序的输出结果应为42762.000000。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动maiil函数,不得增行或删行,也不得更改程序的结构。 试题程序: include include include double proc(int n) { double sum,s0,s1,s2,s; int k; sum=1.0; if(n<=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; //****found**** for(k=4;k
点击查看答案
第2题
非线性结构是数据元素之间存在一种()。A.一对多关系B.多对多关系C.多对一关系D.一对一关系
非线性结构是数据元素之间存在一种()。

A.一对多关系

B.多对多关系

C.多对一关系

D.一对一关系

点击查看答案
第3题
学生的记录由学号和成绩组成,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);

}

点击查看答案
第4题
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前叫m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

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

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

试题程序:

include <conio.h>

include <string.h>

include <stdio.h>

include <alloc.h>

define N 10

typedef struct ss

{char num[10];

int s;

} STU;

STU *fun{STU a[], int m)

{ STU b[N] ,*t;

int i, j,k;

/*************found**************/

*t=calloc (m, slzeof (STU));

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

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

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

if (b[i].s>b[j].s) j=i;

/*************found**************/

t[k].num=b [j].num;

t[k].s=b[j] s;

b[j].s=0;

}

return t;

}

outresult(STU a[],FILE *pf)

{ int i;

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

fprintf(pf, "No=%s Mark-%d\n ",

a [i] .num, a[i].s);

fprintf(pf, "\n\n ");

}

main ( )

{ STU a[N]={{ "A01 ",81},{ "A02 ",89},

{ "A03 ",66},{ "A04 ",87},{ "A05 ",77},

{ "A06 ",90},{ "A07 ",79},{ "A08 ",61},

{ "A09 ",80},{ "Al0 ",71}};

STU *pOrder;

int i, m;

clrscr ();

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

outresult (a, stdout);

printf ("\nGive the number of the students

who have better score: ");

scanf ("%d", &m);

while (m>10)

{ printf("lnGive the number of the

students who have better score: ");

scanf ("%d", %m);

pOrder=fun (a,m);

printf("***** THE RESULT*****kn");

printf("The top :\n");

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

printf("%s %d\n",pOrder[i].num,

p0rder [i]. s);

free (pOrder);

}

点击查看答案
第5题
用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。

A.仅修改队头指针

B.仅修改队尾指针

C.队头、队尾指针都要修改

D.队头,队尾指针都可能要修改

点击查看答案
第6题
设有定义的语句:“char c1=92,c2=92;”,则以下表达式中的值为零的是( )。A.c1^c2 B.c1&c2
设有定义的语句:“char c1=92,c2=92;”,则以下表达式中的值为零的是( )。

A.c1^c2

B.c1&c2

C.~c2

D.c1

E. c2

点击查看答案
第7题
当调用函数时,实参是一个数组名,则向函数传送的是______。A.数组的长度B.数组的首地址C.数组中每
当调用函数时,实参是一个数组名,则向函数传送的是______。

A.数组的长度

B.数组的首地址

C.数组中每一个元素的地址

D.数组每个元素中的值

点击查看答案
第8题
定义如下变量和数组: 则下面语句的输出结果是( )。 A.9 5 1B.7 4 1C.7
定义如下变量和数组:则下面语句的输出结果是( )。

A.9 5 1

B.7 4 1

C.7 5 3

D.9 6 3

点击查看答案
第9题
以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int x[N]) { int i=0; while(i<N) scanf("%d", ______); } 在下划线处应填入的是

A.x+i

B.&x[i+1]

C.x+(i++)

D.&x[++i]

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信