标签:代码 遍历数组 初始 比较 sda http 算法 har 定位
(1)描述算法
第一步:阅读题目,明确目的。
第二步:找到调用函数。
第三步:定义指针数组*month,初始化为12月份。
第四步:如果输入的n小于1或大于12,则返回NULL,否则返回month[n-1]。
(2)流程图
char *getmonth( int n )
{
int i;
char *month[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};
if(n<1||n>12)
{
return NULL;
}
else
{
return month[n-1];
}
}
错误原因:
改正方法:将n>1&&12>n改为1>n||n>12。
将return NULL;与 return month[n-1];掉换顺序。
(1)描述算法
第一步:阅读题目,明确目的。
第二步:找到调用函数。
第三步:定义指针数组*a,并初始化为"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"
第四步:遍历数组内所有元素,利用strcmp函数做比较,如果值为0,则返回i,否则返回-1.
int getindex( char *s )
{
int i;
char *a[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
for(i=0;i<7;i++)
{
if(strcmp(s,a[i])==0)
{
return i;
}
}
return -1;
}
错误原因:
改正方法:将return -1放到for循环之外。
将*a[i]改为a[i]。
将*s改为s。
(1)描述算法
第一步:阅读题目,明确目的。
第二步:找到调用函数。
第三步:定义i,t,max。max,i初始化为0。
第四步:遍历数组中元素。利用strlen计算s[i]字符串的长度并将其赋给t。
第五步:如果max<t,则将t赋给max。
第六步:返回max。
int max_len( char *s[], int n )
{
int i=0, t;
int max=0;
for(i=0; i<n; i++)
{
t = strlen(s[i]);
if(max < t)
{
max = t;
}
}
return max;
}
错误原因:
改正方法:将t = strlen(s[i]);放在for循环内。
(1)描述算法
第一步:阅读题目,明确目的。
第二步:找到调用函数。
第三步:定义p,q,指针*m=NULL。
第四步:遍历指针数组s中所有元素。如果ch1等于 (s+p),则将s[p]赋给 *z。
第五步:遍历s中元素,如果(s+q)!=ch2)&&((s+q)!=‘\0‘,则输出(s+q),如果(s+q)!=‘\0‘,则输出*(s+q)。
第六步:返回m。
char *match( char *s, char ch1, char ch2 ){
int p,q;
char *m=NULL;
for(p=0;*(s+p)!=‘\0‘;p++)
{
if(*(s+p)==ch1)
{
char *z= &s[p];
for(q=p;(*(s+q)!=ch2)&&(*(s+q)!=‘\0‘);q++)
{
printf("%c",*(s+q));
}
if(*(s+q)!=‘\0‘)
printf("%c",*(s+q));
printf("\n");
return z;
}
}
printf("\n");
return m;
}
错误原因:
改正方法:在printf("%c",*(s+q));后加换行。
将q=0换成q=p。
标签:代码 遍历数组 初始 比较 sda http 算法 har 定位
原文地址:https://www.cnblogs.com/748luwenqi/p/8878038.html