首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。 例如,当数组x内容为1,7,8,6,10,15,11,13,29,3l,整数e内容为3时,输出结
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。 例如,当数组x内容为1,7,8,6,10,15,11,13,29,3l,整数e内容为3时,输出结
admin
2022-04-02
96
问题
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。
例如,当数组x内容为1,7,8,6,10,15,11,13,29,3l,整数e内容为3时,输出结果应该是:n=2,sum=110
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<stdio.h>
#pragma warning(disable:4996)
#define N 10
int fun(int x[],int e,int *sum)
{
}
main()
{
void NONO();
int x[N]={1,7,8,6,10,15,11,13,29,31},e=3,n,sum;
n=fun(x,e,&sum);
printf("n=%d,sum=%d\n",n,sum);
NONO();
}
void NONO()
{
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int i,j,x[10],n,e,sum;
FILE *rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<5;i++){
for(j=0;j<10;j++)
fscanf(rf,"%d",&x[j]);
fscanf(rf,"%d",&e);
n=fun(x,e,&sum);
fprintf(wf,"%d,%d\n",n,sum);
}
fclose(rf);
fclose(wf);
}
选项
答案
int fun(int x[],int e,int *sum) { int i,count=0; *sum=0; for(i=0;i<N;i++) { if(x[i]%e==0) { count++; } else { *sum+=x[i]; } } return count; }
解析
程序首先定义循环变量i,整型变量count,count赋初值为0,count用来统计可以被e整除的元素个数;由于sum是main函数传入的指针变量,用来存放不能被e整除的元素之和,所以程序需要对sum所指变量赋初值为0;接着通过for循环变量数组x,将x
对e求余,若余数为0,则当前x
可以被e整除,将count自增1,若余数不为0,则x
不能被e整除,将x
累加到sum所指变量中,最后将count作为函数返回值返回。
转载请注明原文地址:https://kaotiyun.com/show/vhkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中错误的是()。
若有以下程序#include#includetypedefstructstu{charname[10],gender;intscore;}STU;voidf(char*p){strcpy(p,"Qian");}main(){STUa={"
若变量已正确定义for(x=0,y=0;(y!=99&&x<4);x++)则以上for循环
有以下程序#includemain(){inta=3;printf("%dkn",(a+=a-=a*a));}程序运行后的输出结果是
有以下程序#includemain(){chara=4;printf("%d\n",a=a
有下列程序,程序执行后的输出结果是fun(charP[][10]){intn=0,i;for(i=0;i<7;i++)if(P[i][0]==’T’)n++;returnn;}main(){charstr[][10]={"Mon",
下列叙述中正确的是
有以下程序#include<stdio.h>intfun(){staticintx=1;x+=1:returnx;}main(){inti,s=1;for(i=1;i<=5;i++)s+=fun();printf(
已定义以下函数intfun(int*p){return*p;}fun函数返回值是
随机试题
通过不断强化逐渐趋近目标的反应,来形成某种较复杂的行为称为()。
图中交通警察的手势为什么信号?
外阴上皮内瘤变最有可能的病因为
露天矿山的辅助生产环节不包括()。
对于一手个人住房贷款而言,较为普遍的贷款营销方式是银行与房地产开发商合作的方式,这种合作方式是指房地产开发商与贷款银行共同签订“商品房销售贷款合作协议”,由银行向购买该开发商房屋的购房者提供个人住房贷款,借款人用所购房屋作抵押,在借款人购买的房屋没有办好抵
现行的增值税实行的是价内税,因此产品成本中包括外购投入物所支付的进项税。()
动机产生的内在条件是()。
好意施惠是指当事人之间无意设定法律上的权利义务关系,而由当事人一方基于良好的道德风尚实施的使另一方受恩惠的关系。根据上述定义,下列不属于好意施惠关系的是:
基于以下题干:陈教授:中世纪初欧洲与东亚之间没有贸易往来,因为在现存的档案中找不到这方面的任何文字记录。李研究员:您的论证与这样一个论证类似:传说中的喜马拉雅雪人是不存在的,因为从来没有人作证亲眼看到这种雪人。这一论证的问题在于:有人看
在下列选项中属于Java语言的代码安全检测机制的是()。
最新回复
(
0
)