首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
44
问题
请编写函数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://jikaoti.com/ti/qAa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若以“a+”方式打开一个已存在的文件,则下列叙述正确的是()。
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
程序设计方法要求在程序设计过程中,()。
有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序运行后的输出结果是()。
若有说明chars1[30]="abc",s2[]="defghi";,则在使用函数strcat(s1,s2)后,结果是()。
以下函数值的类型是______。fun(floatx){floaty;y=3*x-4;returny;}
下列有关数据库的描述,正确的是
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
随机试题
试分析参与深呼吸的肌肉。
在自然疫源地兴建大型建筑,开工前须进行
下列因素中会引起一国货币升值的有()。
甲公司2007年1月1日发行可转换债券,取得总收入480万元。该债券期限为3年,面值为500万元,票面年利率为3%,利息按年支付;每份债券均可在债券发行1年后转换为80股该公司普通股。该公司发行该债券时,二级市场上与之类似但没有转股权的债券的市场利率为6
根据《中华人民共和国税收征收管理法》的规定,欠缴税款纳税人因怠于行使其到期债权,对国家税收造成损害的,税务机关可以按照法律规定行使()。
至今,研究者发现在胚胎及胸腺组织中蕴含的生长因子有40种之多,其中多种因子已被证明可以成为促进皮肤生长的目标组织,对皮肤细胞的新陈代谢及分裂繁殖有重要促进作用,倘能以涂面霜的方式将这些生长因子填补到中年人的皮肤组织之内,对维持皮肤组织的健康及延缓皮肤老化将
下列选项中,可以成立的是()。
A、16B、28C、42D、64D周围四个数字之和的平方等于中间数字。
按照《行政强制法》的规定,查封、扣押的期限不得超过()日;情况复杂的,经行政机关负责人批准,可以延长,但是延长期限不得超过()日。
Listentothefollowingpassage.Altogetherthepassagewillbereadtoyoufourtimes.Duringthefirstreading,whichwillbe
最新回复
(
0
)