第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)用指針數組處理多個字符串有何優點?能夠直接輸入多個字符串給未初始化的指針數組嗎?爲何?
          有點懵,不太會,在同窗的幫助下作了做業。


相關文章
相關標籤/搜索