C程式第一次作業

2022-05-31 16:15:10 字數 3367 閱讀 6342

1 設計思路

(1)主要描述題目演算法

第一步:利用指標psum接收sum的位址,指標pdiff接收diff的位址,因此 * psum為sum, * pdiff為diff。

第二步:對 * psum及 * pdiff進行賦值。

2.實驗**

void sum_diff( float op1, float op2, float *psum, float *pdiff )

1 設計思路

(1)主要描述題目演算法

第一步:根據函式中形參指數型intpart為實參intpart的位址,fracpart也是如此,因此 * inpart的值為實參inpart的值,fracpart也是一樣。

第二步: * inpart為x的整數部分,因此表示小數部分的 * fracpart=x- * inpart。

(2)流程圖

2.實驗**

void splitfloat( float x, int *intpart, float *fracpart )

3.本題除錯過程碰到問題及解決辦法

錯誤原因:誤使 * fracpart=f-(x/1),誤記為浮點型資料與整型資料進行運算,最後結果為整型,正確應為浮點型。 改正方法:因 * intpart為整型資料,且為x的整數部分,因此直接用f- * intpart就可以。

1 設計思路

(1)主要描述題目演算法

第一步:定義k=-1,如果陣列中有與x相等的元素時,另k等於其元素對應的下標。

第二步:遍歷陣列,為了找到最小下標,正向遍歷陣列,且當有乙個對應元素時,即跳出迴圈。

第三步:返回k的值。

(2)流程圖

2.實驗**

int search( int list, int n, int x )

} for(j=n-1;j>=0;j--)

} return 0;

}void output(int *arr,int n)

for(; *s != '\0';s++,j++)

} return (answer);

}

1 設計思路

(1)主要描述題目演算法

第一步:呼叫函式t,s指向主函式中的t,s。

第二步:將指標型t中的值賦值給另乙個陣列,計算出陣列的長度,將m的大小與陣列的長度用if語句來進行比較。

第三步:如果m大於陣列得長度,則陣列s直接輸出為空陣列;另一種則遍歷陣列,使陣列s滿足要求。

第四步:最後不要忘了,在if語句的最後寫上*s='\0'。

(2)流程圖

主函式:

strmcpy函式:

2.實驗**

void strmcpy( char *t, int m, char *s )

if(m>i) else

*s = '\0';

return 0;

}

3.本題除錯過程碰到問題及解決辦法

錯誤點1:並沒有在最後加上*s = '\0',導致在最後提交時最後乙個調試點錯誤。解決方法:在詢問同學及參考了同學的**後找出了自己的錯誤點,字串的結尾應加'\0'. 錯誤點2:當m>i時,直接內容為空,導致最後的結果不為空字元。解決方法:在查閱書籍之後,發現內容應不為空,而為 * s='\0'。

額外加題3:為了防止資訊被別人輕易盜取,需要把電碼明文通過加密方式變換成為密文。變換規則如下:小寫字母y變換為a,小寫字母z變換為b,其他字母變換成為該字母ascii碼順序後2為字幕,比如o變換成q。要求給出你的姓名全拼加密後的結果。

1 設計思路

(1)主要描述題目演算法

第一步:想到用全域性變數來定義n,及運用新學的指標來完成**。

第二步:定義name[n],newname,並將name的首元素位址傳給指標型newname。

第三步:遍歷迴圈,用newname++來使newname迴圈指向下乙個元素,分情況將newname中的元素進行替換,最後不要忘了使newname = '\0'。

(2)流程圖

2.實驗**

總結:在這兩周我複習了陣列,學習了指標的含義和概念,陣列和指標以及字串與指標,而對於字串與陣列的運用是最不熟練的,希望在寫一次寫部落格總結時,自己可以寫上對於字串與陣列的運用是已經完全掌握的,這是大的方面。

而在小的方面,在做pta中的題目時,覺得自己對選擇法排序的掌握已經退步為差不多為0,而選擇法排序和冒泡法排序都是十分重要的,自己會盡快的去熟練掌握它們的。

pta第四次作業的第二題,自己印象是最深刻的,因為在這題自己也是一籌莫展,在網上查詢完題目,提交了理解了以後就自己的**,但因為自己最後的一點點不甘心,最後在同學的幫助下,還是用自己的思路完成了**。而在此次分析網上的**時,**中可以有很多簡化的地方,strlen(陣列名)即為該陣列的長度,不需要用for迴圈用i++來表示,書中和之前牛老師都有提到過,在以後自己也會使用這種方法的。

在總結的最後,分享乙個應該掌握但有可能沒有注意到的知識點:pta第三次作業的第二題中主函式的**

#includevoid sort(int *x,int n);

int main ( )

c 第一次作業

要求 計算 的注釋行,行,空行和總行數。步驟解析 先開啟檔案,讀取檔案,因為注釋行開頭以 或者 開頭,所以有 或者 的行為注釋行。空行就是什麼都沒有的,為空的。行就是有 的,實現這些功能的過程中需要用到trim這個函式。如下 using system using system.collections...

c 第一次作業

using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.io using system.text.regul...

c 第一次作業

c 第一次作業 一 程式設計分析題。1.分析程式寫出結果 x,y 15,25 x,y 15,25 x,y 15,25 x,y 14,26 include using namespace std voidf1 int x,int y voidf2 int x,int y voidf3 int x,in...