首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
60
问题
请编写函数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全国计算机二级
相关试题推荐
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r==&m;f(r,&n);printf("%d,%d",m,n);}
下列选项中,能正确定义数组的语句是
设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。
下列叙述中错误的是
若有定义语句:intk[2][3],*pk[3];,则以下语句中正确的是
若要求从键盘读入含有空格字符的字符串,应使用函数()。
有以下程序:#include<stdio.h>struetS{inta,b;}data[2]={10,100,20,200};main(){struetSp=data[1];prinff("%d\n",++(p.a));}程序
关于结构体函数的叙述中正确的是()。
有以下程序#include<stdio.h>intfun(){staticintx=1;x+=1:returnx;}main(){inti,s=1;for(i=1;i<=5;i++)s+=fun();printf(
以下程序函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序voidflintb[],intn,intflag)main(){inti,j,t;{inta[10]={5,4,3,2,1,6,7,8,
随机试题
依据《中华人民共和国药品管理法》规定,合法的药品生产企业必须持有( )
对于函数声明voidfun(inta[1],int*b);以下叙述中正确的是()。
在社会主义社会,领导者要树立正确的世界观、人生观和价值观,就必须坚持
具有抑制β-内酰胺酶作用的药物是
清燥救肺汤与桑杏汤方中共有的药物是( )。
“物资采购”科目核算企业购入的材料、商品的采购成本,本科目的期末借方余额表示()。
实际教学中,有的教师对学生作业采用“漏一补十”“错一罚十”的做法,针对这一做法,下列陈述正确的是()。
数据挖掘(Datamining)是指从大量的存储数据中利用统计、情报检索、模式识别、在线分析处理和专家系统(依靠过去的经验)等方法或技术,发现隐含在其中、事先不知道但又是潜在有用的信息和知识的信息处理过程。根据上述定义,下列选项不属于数据挖掘应
近代中国社会占支配地位的主要矛盾是()
现代计算机中所采用的电子元器件是( )。
最新回复
(
0
)