C語言部落格作業--字元數組

來源:互聯網
上載者:User

標籤:總結   組元   字母   1.5   中間   統計   解決   錯誤   如何   

題目:7-2 統計一行文本的單詞個數1. 本題PTA提交列表

2. 設計思路
定義變數a[1000]儲存文本出現的單詞變數i用於迴圈,變數m表示字串長度,變數k表示單詞個數;if a[0] !=  空格 則k=0;反之 k=1;for i=0 to i<m-1  if a[i]==空格並且a[i+1] != 空格 則k++輸出k
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。

(PTA提交列表中的每個錯誤詳細說明為什麼及如何解決。)
寫這道題的時候,想過用a[i]!=空格並且a[i+1] == 空格,但是最後一個字元並不是空格,總會造成輸出個數少一i個

解決方案:先通過一個條件判斷a[0]是否等於空格來給k初賦值,這樣既可以考慮到只有一個單詞的情況,也可以使結果正確。

題目:7-5 統計大寫輔音字母1. 本題PTA提交列表

2. 設計思路

3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。

(PTA提交列表中的每個錯誤詳細說明為什麼及如何解決。)
這道題沒有遇見問題

題目:7-1 字串轉換成十進位整數1. 本題PTA提交列表

2. 設計思路
    int i=0,k=0; 迴圈變數    char hexad[80],str[80]; 數組str用於儲存輸入的字串,數組hexad為數組str濾去非十六進位後產生新字串    long number=0,flag=1;    輸入字串str[i],將‘\0‘存入數組,遇見#停止    for i=0 如果str[i]!=‘\0‘ 則i++)    如果 str[i]==‘-‘並且k==0    則flag=-1;   //存在‘-‘情況     如果 str[i]>=‘0‘&&str[i]<=‘9‘||str[i]>=‘a‘&&str[i]<=‘f‘||str[i]>=‘A‘&&str[i]<=‘F‘  濾去非十六進位後產生新字串hexad        hexad[k]=str[i];        k++;        hexad[k]=‘\0‘;    for i=0 如果hexad[i]!=‘\0‘ 則i++  轉化成十進位         如果 hexad[i]>=‘0‘&&hexad[i]<=‘9‘              計算number=number*16+hexad[i]-‘0‘;        如果hexad[i]>=‘a‘&&hexad[i]<=‘f‘            計算number=number*16+hexad[i]-‘a‘+10;            如果hexad[i]>=‘A‘&&hexad[i]<=‘F‘            計算number=number*16+hexad[i]-‘A‘+10;         輸出number*flag
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。

(PTA提交列表中的每個錯誤詳細說明為什麼及如何解決。)
沒有考慮‘-’存在的情況,造成代碼部分正確
解決方案:定義一個flag表示符號,考慮負號存在的情況,利用flag轉換符號

二、本周題目集的PTA最後排名。(2分)

PTA排名

三、同學代碼結對互評(1分)1.互評同學名稱 管正2.My Code、互評同學代碼(此處核心代碼就好,不一定全部代碼,圖上指明是誰的代碼。)

管正的代碼

My Code

3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。

(注意:第3項是評分重點,一定要有針對性說出問題,別都說好話,請專業去說他代碼有哪些優勢、哪些劣勢。)
我們兩個在字串的輸入和濾去非十六進位後產生新字串hexad的代碼基本一致,但是在考慮‘-’存在的情況下有巨大的差異。管正是在計算number處的地方,通過判斷a[i]==‘-‘,a[i+1]為16進位字元後,把‘-’賦值給op,並且利用變數time來保證‘-’為開頭出現,而不存在中間出現的情況。而我則是利用濾去非十六進位的過程中,通過判斷 str[i]==‘-‘並且k==0,對符號進行定義。這也是為什麼My Code步驟少,而他的步驟卻比較繁多。雖然他的很多步驟必不可少,但是卻很多餘。為什麼說必不可少,因為如果把他三種情況下的計算中的time++去掉,或者把他對於數組a的判斷中的time==1去掉都會造成結果錯誤。說他的代碼多餘是因為他本來可以不用這麼多變數定義一個符號,而且他最後的結果輸出還要通過判斷x=1,再分別輸出。所以我更喜歡My Code。針對我們的代碼出現的問題,我也意識到相同的pta問題,即使前面的代碼步驟一致,但只要有一步不一樣,代碼也會大不相同。而且代碼的難易程度有時候往往是一步之差。

四、本周學習總結(3分)

1.你學會了什嗎?
1.1指標變數如何定義(設計代碼可以用markdown代碼符號渲染)?
變數的類型 變數名
int
p;
char *p;
1.2 指標加法運算運用在哪種情況,2個指標變數能否相加?
指標指向數組時,遞增表示指標下移;不能相加。
1.3 指標不賦初值,直接使用,會出現什麼情況,請用DEVC驗證,並展示?
出現隨機數字

1.4 課堂派上關於分離浮點數的整數部分和小數部分那題,請用DEVC驗證實現,並在此貼圖展示,同時說明哪句是指標變數做函數形參,函數實參應該怎麼表示。指標變數做函數形參有什麼用處?


指標變數做函數形參 void spllitfloat(float x,int* intpart,float* fracpart)
函數實參spllitfloat(x,ip,fp);
可以在函數中改變主函數中變數的值
1.5 請把課本的冒泡排序的函數改成指標變數做形參格式,並把代碼寫在底下,注意用markdown文法渲染。

void bubble(int *p,int n){    int i,j,t;    for(i=1;i<n;i++)    for(j=0;j<n-i;j++,p++)    if(*p>*(p+1))    {        t=*p;        *p=*(p+1);        *(p+1)=t;    }}

1.6 如何定義一個指標變數指向數組,如何用指標變數表示數組元素?
將數組名賦給指標變數名
int p;
int a[5];
p=a;
1.7 如何定義字元指標指向字串?指標指向字串後,初始位置在哪裡?
char
p,str[11]={yjsyjsyjsnb};
p=str;
初始位置為str[0]
1.8 利用字元指標操作字串,如設計函數實現字串串連,請在此貼圖展示代碼。說明指標表示字元的方法好處是什嗎?

更靈活,更簡短。
2.本周你不會內容有什嗎?
2.1 課堂派錯題羅列及如何訂正。

這道題錯的很不應該,應該說這道題和指標沒多大關係,考的是運算子號的優先順序,我應該先判斷p1==&m是否成立,成立為1,不成立為0;

地址常量不能變化

A的值為10,c的值超過9,D的值不能相加,所以是B;

字元型變數不能賦值

2.2 其他不會的?打算怎麼解決
看書,百度,問同學
3.數組上機考試小結
3.1 那題錯了,請羅列?
函數第二題,數組所有題
3.2 錯題如何訂正,為什麼錯了?
ip地址

#include<stdio.h>int main(){  char ch[33];  int i=0,sum=0,count=0,time=0;  scanf("%c",&ch[i]);  while(ch[i]!=‘\n‘){    i++;    scanf("%c",&ch[i]);  }  for(i=0;i<32;i++){    sum=sum*2+ch[i]-‘0‘;    count++;    if(count%8==0){      time++;      if(time==1) {        printf("%d",sum);      }      else{        printf(".%d",sum);      }       sum=0;     }  }  return 0;}

其他題都沒思路

C語言部落格作業--字元數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.