题目6-1
- 算法:定义一个数组,月份1-12,根据传入的n来给*month[n]赋值
- 代码
char getmonth( int n ){
char month[12]={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
if(n>=1 && n<=12)
return month[n-1];
else
return NULL;
} - 出现的错误:无
6-2
- 算法:定义星期的数组,然后用for循环轮询传入的字符组是否能与星期的数组对应。如不能对应,传回-1,能对应,传回星期对应数字
- 代码:
int getindex( char s ){
char weekday[7]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int i=0;
int j=0;
for(;i<7;i++){
if(strcmp(s,weekday[i])==0){
return i;
j=1;}
}
if(j!=1)
return -1;
} - 出现的错误:段错误;原因:数组越界;改正:修改for中i的边界值
6-3
- 算法:定义一个最大值,然后轮询传入的*s的长度与max的值谁大,最后传回max值
- 代码:
int max_len( char *s[], int n ){
int num=0;
int t=0;
int max=0;
for(;t<n;t++){
num = strlen(s[t]);
if(max<num){
max=num;
}
}
return max;
} - 出现的错误:无
6-4
忘写了