—改错题
创建带头节点的单向链表,并将个结点的数据域赋值0~m-1的值
NODE *Creatlink(int n, int m)
{ NODE *h=NULL, *p, *s;
int i;
/**********found***********/
p=(NODE)malloc(sizeof(NODE)); //(NODE)malloc改为(NODE *)malloc
h=p;
p->next=NULL;
for(i=1; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE));
s->data=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
/**********found***********/
return p; //p改为h
}
分子为1分母递增的分数累加求和
/*************found**************/
fun (int m) //fun改为double fun
{ double y=0, d;
int i;
/*************found**************/
for(i=100,i<=m,i+=100) //","改为";"
{d=(double)i*(double)i;
y+=1.0/d;
}
return(y);
}
统计字符里的元音字符的个数
1 0 0 2 0代表有一个A和两个O
void fun(char *s, int num[5]) //fun改为void fun
{ int k, i=5;
for(k=0;k<i;k++)
/*************found**************/
num[k]=0; //num[i]改为num[k]
for(;*s!=0;s++)
{ i=-1;
/*************found**************/
switch(s) //s改为*s
{ case 'a': case'A':{i=0;break;}
case 'e': case 'E':{i=1;break;}
case 'i': case 'I':{i=2;break;}
case 'o': case 'O':{i=3;break;}
case 'u': case 'U':{i=4;break;}
}
if(i>=0)
num[i]++;
}
}
输出标记为未删除的数
typedef struct dat
{
char deleted; //是否删除:0-未删除,1-删除
int data;
struct dat* next;
} MYDATA;
void list(MYDATA *h)
{
/******found******/
MYDATA p; //p改为*p
p=h->next;
while(p!=NULL)
{
/******found******/
if(p->data==0) //p->data改为p->deleted
{
printf("%d ",p->data);
}
/******found******/
p=next; //p=next 改为 p->next
}
}
自定义数据结构
int func(int (*p)[4], int m, int n, int *pRow, int *pCol)
{
int i, j, max;
/**********found**********/
max = *p; //**p
*pRow = 0;
*pCol = 0;
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
if ( *(*(p+i)+j) > max)
{
max = *(*(p+i) + j);
*pRow = i;
/**********found**********/
*pCol =i+j; //j
}
}
}
/**********found**********/
return *max; //max
}
输出不含删除标记的数
typedef struct dat
{
char deleted; //是否删除:0-未删除,1-删除
int data;
struct dat* next;
} MYDATA;
void list(MYDATA *h)
{
/******found******/
MYDATA p; //*p
p=h->next;
while(p!=NULL)
{
/******found******/
if(p->data==0) //p->deleted==0
{
printf("%d ",p->data);
}
/******found******/
p=next; //p->next
}
}