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

admin2021-02-25  41

问题 请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
注意:部分源程序存在PROG1.C中,请勿改动主函数mmn和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<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("c:\test\in.dat","r"”);
    wf=fopen("c:\test\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);
}

选项

答案int i=0,j=0;//循环统计的下标 *a=0;//初始化a字符统计的个数 *c=0;//初始化c字符统计的个数 for(i=0;i}M;i++)//行 { for(j=0;j<M;j++)//列 { if(t[i][j]==’A’)//字符是a,计数 (*a)++; if(t[i][j]==’c’)//字符是c,计数 (*c)++; } }

解析 对二维数组的行列分别循环,行优先,查找数组中元素为A或者C,分别对其进行计数。
转载请注明原文地址:https://kaotiyun.com/show/zntp777K
0

最新回复(0)