首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3
数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3
admin
2013-06-12
82
问题
数列中,第一项为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
);
printf("\n\n ");
}
选项
答案
(1)错误:int i, j, k, sum; 正确:int i, j=0,k,sum; (2)错误:if(sum%4=2) 正确:if(sum%4=2) (3)错误:return j; 正确:return j++;
解析
按照老办法,我们先看数学思路,该题是一个公差为5的等差数列,简单吧,要是用数学的办法解决也就是一个公式两个符号,迎刃而解,所以这样很有规律的等差数列前n项和用C语言来求的话,也相当简单,关键看细节! i,k, sum 都分别定义了,那j呢?所以,正确的应该是int i,j=0,k,sum;,再往下看,if(sum%4=2)是在说明题干中“在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数”,那么“余2”的表示方法呢?不用看就知道应该是if(sum%4==2),后面的返回错误就不提了吧,看看a[j++]=sum;语句,难道还能返回给j吗?
转载请注明原文地址:https://kaotiyun.com/show/crJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 main() { int a[3][3],*p,i; p=&a[0][0]; for(i=O;i<9;i++)p[i]=i; for(i=O;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是______。
给定程序MODI1.C中函数fun的功能是:读入整数k(2≤k≤10000),打印它的所有质因子(即所有素数的因子),例如,若输入整数2310,则应输出:2,3,5,7,11。#include"conio.h"#include”stdio.
若从键盘输入34,则以下程序输出的结果是______。#include<stdio.h>main(){inta;scanf("%d",&a);if(a>30)printf("%d",a);
以下程序的输出结果是______。 #include<stdio.h> main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }
语句printf("a\bhow\’s\\\bhe\n");的输出结果是______。(说明:’b’是退格符)
fread(buf,32,2,fp)的功能是______。
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用______。
以下程序中,fun()函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33
以下函数返回a所指数组中最小值所在的下标值。请完善下列程序。fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]______;retu
随机试题
TimeintheAnimalWorldRhythmcontrolseverythinginNature.【T1】______Thesunprovidesabasictimerhythmforalll
下列关于继发性肺结核的叙述,恰当的是
某酒厂(增值税一般纳税人)为一家综合性的股份制生产企业,2012年5月5日某税务师事务所的注册税务师对该酒厂4月份的纳税情况进行审核,获得如下资料:(1)外购一批生产用的工具器皿,增值税专用发票上注明的价款为20000元,增值税3400元,运输发票注
受教育者的身心发展特征是确定各级各类学校分段以及学生入学年龄、修业年限的__________,它体现了统一性的原则。
试图把大班、小班和个人三种教学形式结合起来,实行大班上课、小班研究、个别作业的教学组织形式是()。
“脱帽露顶王公前,挥毫落纸如云烟”,杜甫的这句诗描述了当时一位书法家的创作情景,这位书法家是()
符号性图式理论认为,产生迁移的决定因素是()
Mostofusaretaughttopayattentiontowhatissaid—thewords.Wordsdoprovideuswithsomeinformation,butmeaningsare(1
I【21】______bymyselfinmyusualcompartmentforatleast10minutes,waiting【22】______.Thetrainneverseemedtostarto
StopBeingaPeoplePleaser1.Say"no"Givereasonsinsteadof【T1】excuses【T1】______ExamplesIt’sstressfulto【T2】alargefamil
最新回复
(
0
)