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

admin2017-11-27  56

问题   请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
    注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
#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{for(j=0;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{for(j=0;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
解析 本题首先需要一个二维数组,二维数组的大小在程序开始就进行了定义“define=14”,这个大小比较合适,然后利用gets函数得到数组,然后数据就可以进入fun函数中进行处理应用。进入fun函数,fun函数首先肯定需要for循环语句将二维数组中的数据进行排序使用,然后需要条件语句进行判断处理,  这两步是一体,见程序第9~11行,for循环保证全部使用了二维数组中数据,并且是依次使用,if语句判断了字母是否为A或者C或者都不是,并且进行了统计相加得到了A的个数a,C的个数c,这样循环完成后,A和C的个数a、c就能继续返回主函数进行输出了,见程序26行,最终得到结果。
转载请注明原文地址:https://kaotiyun.com/show/pnxp777K
0

最新回复(0)