第3次做业

PTA

1. 输出月份英文名

1.实验代码数组

char *getmonth( int n ){
        switch(n)
    {
    case 1:return "January";
    case 2:return "February";
    case 3:return "March";
    case 4:return "April";
    case 5:return "May";
    case 6:return "June";
    case 7:return "July";
    case 8:return "August";
    case 9:return "September";
    case 10:return "October";
    case 11:return "November";
    case 12:return "December";
    default:return NULL;
    }
}

2.设计思路
设置switch语句,输入数字,则输出对应的月份英文名称。
3.提交列表

4.本题调试过程碰到问题及解决办法
学习

2.查找星期

int getindex( char *s ) {
  char day[7][MAXS]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; 
  int i; 
  for(i=0;i<7;i++) {
    if(strcmp(*(day+i),s)==0) 
    return (i); 
  } 
  if(i==7) 
  return (-1);
}

3.计算最长的字符串长度

int max_len( char *s[], int n )
{
  int i,l=0;
  for(i=0;i<n;i++)
  {
    if(l<strlen(*(s+i)))
    {
      l=strlen(*(s+i));
    }
  }
  return l;
}

4.指定位置输出字符串

char *match( char *s, char ch1, char ch2 )
{
int i=0,j=0;  
char *p=NULL;    
for(i=0;*(s+i)!='\0';i++)
{  
    if(s[i]==ch1)
    {  
        p=&s[i];  
        for(j=i;*(s+j)!='\0';j++)
        {  
            if(s[j]!=ch2)
            {  
                printf("%c", s[j]);  
            }  
            if(s[j]==ch2)
            {  
                printf("%c\n", s[j]);  
                return p;  
            }     
        }  
        printf("\n");  
        return p;  
    }  
}
if(s[i] == '\0')
p = &s[i];
printf("\n");  
return p; 
}

学习总结和进度

一、总结两周里所学的知识点,回答下列问题?(用本身的话表达出你的理解,网上复制粘贴没有分数)(5分)设计

(1)如何理解指针数组,它与指针、数组有何关系?为什么能够用二级指针对指针数组进行操做?

 (2)将C高级第三次PTA做业(1)任何一个题目改成使用二级指针对指针数组进行操做。

 (3)用指针数组处理多个字符串有何优点?能够直接输入多个字符串给未初始化的指针数组吗?为何?
          有点懵,不太会,在同窗的帮助下作了做业。


相关文章
相关标签/搜索