第三次作业
6.1 输出月份英文名
1.设计思路:
定义字符串数组将12个月的英文加进去,判断输入是不是大于等于1小于等于12,若是 则返还s[n-1],如果不是返还NULL;
2.源代码:
char *getmonth( int n ) { char *s[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};
if(n>=1&&n<=12)
return s[n-1];
else
return NULL;
}
3.流程图
6.2 查找星期
1.设计思路:
定义整数i,字符串长为7将星期几加入,使用for循环令i=0,i<7,i++,判断若s与a[i]比后为0,返回1,返回-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;
}
错误:将返回值-1,放入for循环里。
改正:将-1拿出for循环。
流程图:
6.3 计算最长的字符串长度
1.设计思路:定义三个整数max,i,a使max=0,用for循环令i=0,i<n,i++,令a的字符等于s[i],判断若max<a,则将a赋给max,返还max;
源代码:int max_len( char *s[], int n )
{
int i;
int a,max=0;
for(i=0;i<n;i++)
{
a=strlen(s[i]);
if(max<a)
max=a;
}
return max;
}
错误:不会strlen。
流程图