首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。 例如,当数组x内容为1,7,8,6,10,15,11,13,29,31,整数e内容为3时,
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。 例如,当数组x内容为1,7,8,6,10,15,11,13,29,31,整数e内容为3时,
admin
2020-06-02
15
问题
请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。
例如,当数组x内容为1,7,8,6,10,15,11,13,29,31,整数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/DeCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义,intw[3][5];则以下不能正确表示该数组元素的表达式是
有以下程序#includeintfun(int(*s)[4],intn,intk){intm,i;n1=s[0][k];for(i=1;im)m=s[i][k];returnm;}
阅读以下程序#includemain(){intcase;floatprintF;printf("请输入2个数:");scanf("%d%f",&case,&printF);printf("
有以下程序,程序运行后的输出结果是#include#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){printf("%d\n",NUM);}
在数据管理技术发展的三个阶段中,数据共享最好的是
以下函数按每行8个输出数组中的数据:voidfun(int*w,intn){inti;for(i=0;i
下列数据结构中,不能采用顺序存储结构的是
若有以下程序typedefstructstu{charname[10],gender;intscore;)STU;voidf(char*p){strcpy(p,"Qian");}main(){STUa={"Zha
以下与函数fseek(fp,OL,SEEKSET)有相同作用的是
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
随机试题
试述凯登制约政府官员腐败的方法。
熔化极氩弧焊焊接铝及其合金时,形成焊缝气孔的倾向与同样保护气氛条件下的手工钨极氩弧焊相比()。
可以直接影响方剂功用的因素是
甲乙丙三人共同实施故意杀人,一审法院判处甲死刑立即执行、乙无期徒刑、丙有期徒刑10年。丙以量刑过重为由上诉,乙未上诉,检察院未抗诉。关于本案的第二审程序,下列哪一(些)选项是正确的?
(2011)已知用卡诺图化简逻辑函数的结果是,那么,该逻辑函数的无关项至少有()。
某项目设计生产能力为100万吨。在达产年份,预计销售收入为4500万元,固定成本为800万元,可变成本为2450万元,均不含增值税,销售税金及附加为50万元,则下列说法正确的有()
甲向乙发出一份推销水泥的要约,其中规定乙方须在10日内作出答复。该要约不得撤销。()
职工发生事故伤害,所在单位应当自事故发生起向统筹地区的()提出工伤认定申请。
陈老师在进行一次班干部竞选中,家长给陈老师送礼,请求照顾一下自己的孩子,陈老师予以拒绝。陈老师的这种做法体现了()。
下列程序的输出结果是 publicclassfff{ voidprintValue(intm){ do{System.out.println("Thevalueis"+m); } whil
最新回复
(
0
)