请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #inlclude<stdio.h> #inclu

admin2019-09-03  39

问题 请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#inlclude<stdio.h>
#include<stdlib.h>
#define M 14
void NONO();
void fun(char(*t)[M],int*a,int*c)
{
}
void get(char(*s)[M])
{int i,j;
for(i:0;i<M;i++)
{for(j=0;j<M;j++)
{s[j]=65+rand()%12;
printf("%c",s[j]);}
printf("\n");
}
}
main()
{char a[M][M];
  int x,y;
  get(a);
  fun(a,&x,&y);
  printf("A=%d c=%d\n",x,y);
  NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。  */
FILE*fp,*wf;
  int i,j,x,y;
  char a[M][M];
fp=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  for(i=0;i<M;i++)
  {for(j=0;j<M;j++)
  {fscanf(fp,%c",&a[j]);)
  }
  Fun(a,&x,&y);
  fprintf(wf,"A=%d\n",x);
  fprintf(wf,"c=%d\n",  y);
  fclose(fp);
  fclose(wf);
  }

选项

答案void fun(char(*t)[M],int*a ,int *c) {int i,j; *a=0;*c=0; for(i=0;i<M;i++ ) for(j=0;j<M;j++) if(t[i][j]==’A’)*a=*a+1; else if(t[i][j]==’C’)*c=*c+1; }

解析 本题中fun函数实现的功能的主要功能是找出二维数组中A和C的个数,最先就能想到用条件语句进行判断和统计。解题步骤主要为:第一步,要得到所需要的二维数组,第二步,二维数组进入fun函数中进行数据处理,fun函数中需要if条件语句来进行判断,判断数组中的字母是否为A或者C,数组中的每个数据都需要进行判断,要注意A和C是分开统计的,所以这里需要同时统计A和C,然后分别得到结果;第三步,输出得到的结果:字母A和字母C的个数。
转载请注明原文地址:https://kaotiyun.com/show/s7Rp777K
0

最新回复(0)