首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include<stdio.h>
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include<stdio.h>
admin
2018-09-27
66
问题
请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include<stdio.h>
2 #include<stdlib.h>
3 #define M 14
4 void NON0();
5 void fun(char(*t)[M],int *a,int*c)
6 {
7 }
8 void get(char(*s)[M])
9 {int i,j;
10 for(i=0;i<M;i++)
11 {for(j=0;j<M;j++)
12 {s
[j]=65+rand()%12;
13 printf(’’%c’’,s
[j]);}
14 printf(’’\n’’);
15 }
16 }
17 main()
18 {char a[M][M];
19 int x,y;
20 get(a);
21 fun(a,&x,&y);
22 printf(’’A=%d c=%d\n’’,x,y);
23 NONO();
24 }
25 void NONO()
26 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
27 FILE *fp,*wf;
28 int i,j,x,y;
29 char a[M][M];
30 fp=fopen(’’in.dat’’,’’r’’);
31 wf=fopen(’’out.dat’’,’’w’’);
32 for(i=0;i<M;i++)
33 {for(j=0;j<M;j++)
34 {fscanf(fp,’’%c ’’,&a
[j]);}
35 }
36 Fun(a,&x,&y);
37 fprintf(wf,’’A:%d\n’’,x);
38 fprintf(wf,’’C=%d\n’’,y);
39 fclose(fp);
40 fclose(wf);
41 }
选项
答案
1 void fun( char (*t)[M],int *a,int *c) 2 { int i,j; 3 *a=0; *c=0; 4 for( i=0; i<M; i++ ) 5 for( j=0; j<M; j++) 6 if(t[i][j]==’A’)*a=*a+1; 7 else if(t[i][j]==’c’)*c=*c+1; 8 }
解析
本题中fun函数实现的功能的主要功能是找出二维数组中A和C的个数,最先就能想到用条件语句进行判断和统计。解题步骤主要为:第一步,要得到所需要的二维数组,第二步,二维数组进入fun函数中进行数据处理,fun函数中需要if条件语句来进行判断,判断数组中的字母是否为A或者C,数组中的每个数据都需要进行判断,要注意A和C是分开统计的,所以这里需要同时统计A和C,然后分别得到结果;第三步,输出得到的结果:字母A和字母C的个数。
本题首先需要一个二维数组,二维数组的大小在程序开始就进行了定义“define=14”,这个大小比较合适,然后利用gets函数得到数组,然后数据就可以进入fun函数中进行处理应用。进入fun函数,fun函数首先肯定需要for循环语句将二维数组中的数据进行排序使用,然后需要条件语句进行判断处理,这两步是一体,见程序第9~11行,for循环保证全部使用了二维数组中数据,并且是依次使用,if语句判断了字母是否为A或者C或者都不是,并且进行了统计相加得到了A的个数a,C的个数c,这样循环完成后,A和C的个数a、c就能继续返回主函数进行输出了,见程序26行,最终得到结果。
转载请注明原文地址:https://www.kaotiyun.com/show/18xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是()。inta=7,b,C;b=++a;C=a++;printf("%d,%d,%d",a,b,C);
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
以下程序的输出结果是【】。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) { inti=2,j=3; printf("%d\n",MCRB(j,MCRA(i)
若有程序fun(inta,intb){staticintc=0;c+=a+b;rerurnc;}main(){intx=5,y=3,z=7
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为______。
要求使下列程序输出5个整数,请填空。for(i=0;i<=______;printf("%d\n",i+=2));
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
在面向对象方法中,类之间共享属性和操作的机制称为【】。
随机试题
σ亚基作为RNA聚合酶全酶组分在转录起始时结合在DNA模板上。转录延长中,σ亚基
患者,男,62岁。昨日突然仆倒,不省人事,两目上视,四肢抽搐,口吐白沫。现心烦失眠,口苦咽干,便秘,舌红,苔黄腻,脉数,宜选用
公开工程施工项目总投资在()万元人民币以上的,必须进行招标。
根据《企业破产法》的规定,在人民法院受理破产申请后,下列关于对与债务人有关事项处理的表述中,正确的有()。
下列关于产品组合宽度、深度和关联性的说法,正确的有()。
某企业2008年1月1日所有者权益构成情况如下:实收资本1500万元,资本公积100万元,盈余公积300万元,未分配利润200万元。2008年度实现利润总额为600万元,企业所得税税率为25%。假定不存在纳税调整事项及其他因素,该企业2008年12月31日
甲公司以及与甲公司发生交易的以下公司均为增值税一般纳税人,销售或进口货物适用的增值税税率均为17%,以下事项中销售价格均不含增值税。甲公司2016年发生如下经济业务:(1)1月1日,甲公司与乙公司签订协议,向乙公司销售商品,成本为90万元,增值税专用发票
证明:方程xα=lnx(α<0)在(0,+∞)上有且仅有一个实根.
(1)“学生管理”数据库下有3个表,使用菜单设计器制作一个名为“cd2”的菜单,菜单只有一个“成绩计算”菜单项。该菜单项中有“按学号计算”“按课程编号计算”和“关闭”3个子菜单:“按学号计算”子菜单使用SQL语句的AVG函数统计各学生的平均成绩.统计结果中
"Howfarisittothenextvillage?"theAmericanasksamansittingbythesideoftheroad.Insomecountries,becausetheman
最新回复
(
0
)