C语言高手进,帮帮忙做一道题,在线等!!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:23:42
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。不得使用库函数strcat。函数fun中给出的语句仅供参考。
例如,字符串数组中的M个字符串为:
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:AAAABBBBBBBCC。
注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>
#define M 3
#define N 20
void fun(char a[M][N], char *b)
//*********found************//
{

}
//*********found************//
void WriteDat(char *p)//..
{
int i,len=0;
int k=0;
char s[4];
FILE *fp;
fp=fopen("out.dat","w+");

k=strlen(p);
len=k;
sprintf(s,"C%03d",len);
fwrite(s,1,strlen(s),fp);
for(i=0;i<len;i++)
{
sprintf(s,"%04d",p[i]);
fwrite(s,1,strlen(s),fp);
}
fclose(fp);
}
main()
{ char w[M][N]={"11111","BBBBBBB","CC"};
char a[100]={"######&qu

void fun(char a[M][N], char *b)
//*********found************//
{
int i , j;
for(i = 0;i < M ; i++)
for(j = 0;j < N ; j++)
if(a[i][j])*(b++) = a[i][j];
}
//*********found************//

需要 #include <string.h>
因为你的WriteDat里面有strlen

大概意思就是遍历a[M][N], 如果不是空就添加到b[]里.上。的都有错!~~~
voidfun(chara[M][N],char*b)
//*********found************//
{
    int x=0;
    for(int i=0;i<M;i++)
    {
        for(int j=0;j<N;j++)
        {
            if(a[i][j]!="/0")
            {
                x++;