C語言部落格作業 資料型別

2022-05-29 14:48:09 字數 3579 閱讀 9923

輸入a取出a的前兩位數a/100;

取a的後兩位數a%100

putchar(a/100+160);putchar(a%100+160);

然後輸出

問題:不理解題意,不明白如何讓字元輸出

本題沒有除錯過程,只要把a的前兩位和後兩位分別輸出,並加上160,即可輸出答案

高度n,i,j控制迴圈;

i=1;空格=6,輸出* 轉行

i=2;空格=4;輸出* * * 轉行

i=3;空格=2;輸出* * * * * 轉行

i=4;空格=0;輸出* * * * * * * 轉行

i=5;空格=2;輸出* * * * * 轉行

i=6;空格=4;輸出* * * 轉行

i=7;空格=6;輸出* 轉行

int i,j,n

輸出n上半部分for(i=1;i<=(n-1)/2;i++)

找出空格規律為n-2i+1

輸出 //後面跟乙個空格

中間行數為for(i=1;i<=n;i++)

輸出 轉行

下半部分for(i=(n-1)/2;i>0;i--)

其餘和上半部分一樣

問題:提交到pta時提示格式錯誤,但執行結果是對的uploading-image-495198.png

通過把上半部分空格改成#號輸出

通過上圖發現自己上半部分每一行都多輸出乙個#號,於是把j的初始值增加1,結果正確。

定義整型變數n,x=0和字元型變數op,輸入n,並在定義sum=n,再輸入字元型變數op。while((op=getchar())!='=')

else if(op'-')

else if(op'')

else if(op'/'),在這之中如果n0,x=1,跳出迴圈,否則sum=sum/n;

除此之外否則x=1;跳出迴圈;

再輸入 乙個整型變數op,並進入下一次迴圈,直至迴圈結束。

如果x1,輸出error;否則輸出sum

問題:pta提醒分母為0浮點錯誤

解決辦法:在/上加乙個判斷0的if語句。

1.你學會了什麼?

1.1 一維陣列如何定義、初始化?

首先宣告陣列的型別,然後宣告陣列元素的個數

定義:首先要明確陣列變數名,陣列元素的型別和陣列的大小,其一般形式為型別名 陣列名 [陣列長度]。陣列長度是乙個常量。

初始化:其一般形式為型別名 陣列名 [陣列長度]=;雖然c語言規定只有靜態儲存的陣列才能初始化,但一般的c程式設計系統都允許對動態儲存的陣列賦值。如果靜態儲存的陣列如果沒有初始化,那系統自動賦值為0.陣列初始化也可是部分元素

1.2 一維陣列在記憶體中結構?

1.3 為什麼用陣列?

陣列是一組相同資料型別資料的集合。陣列賦過值,可以隨意取當中的任意值,例如可以判斷賦的第乙個值和賦的最後乙個值的大小。比單獨用陣列簡單,還可以讓其賦的值進行任意排序。

1.4 介紹選擇法、冒泡法、直接插入排序如何排序?偽**展示.

(1)選擇法排序

1.定義整型變數i=0,min,k,n,temp;定義陣列a[10];

2.輸入整數n;

3.for(i=0;itemp為要插入的元素/

j=i-1;

while(j>=0&&temp從a[i -1]開始找比a[i ]小的數,同時把陣列元素向後移/

a[j+1]=a[j ];

j--;

}a[j+1]=temp; /插入/,

(3)氣泡排序

氣泡排序把序列分成無序(前)和有序 (後)兩個序列,其實質是把無序序列中相鄰兩個元素依次比較,大者下沉 (後移),移動到最後的元素即為有序序列的第乙個元素,多次冒泡以後直至序列有序。如果序列中的元素為n,則需要進行n-1次冒泡,每次冒泡需要做若干次比較。②c程式實現過程。 

int a[n],i,j,t;//i,j分別用來做冒泡和比較的迴圈計數變數, 

//此外,i還用來表示無序序列中倒數第二個數 

//從鍵盤中輸入數給陣列a[n]中的每個元素 

for(i=0;i=0;i--) 

for(j=0;j<=i;j++) 

if(a[j]>a[j+1])//無序序列中的相鄰兩個元素兩兩相互比較 

1.5 介紹什麼是二分查詢法?它和順序查詢法區別?

首先其元素是按一定順序排列,將表中間位置的元素與所要得出的元素比較,如果兩者相等,則查詢成功;否則如果中間位置的元素大於所求元素,則進一步查詢前面的子陣列,否則進一步查詢後面子陣列。以此類推,直到找到滿足條件的元素為止,否則無此元素。

它比順序查詢法簡便,不用乙個乙個的代入,驗證是否相同。二分法是用中位數來判斷。

1.6 二維陣列如何定義、初始化?

定義首先要明確陣列變數名,陣列元素的型別和陣列的大小,一般形式為:型別名 陣列名 [行長度][列長度]

初始化:有兩種賦值方法。分行賦初值和順序賦初值。

1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。

對角線上元素不變,其餘元素兩個下標互換。

上三角:i<=j時;下三角:i>=j時;對稱矩陣:a[i][j]==a[j][i]

1.8 二維陣列一般應用在**?

1.主要運用於矩陣的計算,eg矩陣的乘法

2.生活中實際問題的應用,eg比如乙個班所有學生的名字,則需要二維字元陣列,char names[15][20]可以存放15個學生的姓名(假設姓名不超過20字元)

3.二維陣列與函式

還是老問題,知識點都能聽得懂,但是不會運用。就像這次期中考試,選擇題考各種知識點,很多知識點都能背住,所以能寫對,但是如果是運用陣列寫**,就不會,老師說過要堅持獨立寫**,找錯誤,錯多了,再調正確了。就慢慢會編了。但是很多時候真的很難堅持。首先,很多題目沒有思路,第二,有思路但是無法把思路轉化為c語言的語法表示出來,第三,遇見錯誤不知道如何處理。第四,一切一切都怪自己無法堅持,我也意識到自己打**和獨立思考的時間太少了,缺少這種提公升自己的過程,自然而然就會被同學拉大差距。我也把自己的困擾告訴乙個學長,他提醒我,每個人打**都會沒動力,因為不知道持續打**有什麼用,方向在哪。但是我們可以利用**解決一些實際問題或者製造一些小程式。利用**改變電腦程式的後台服務,這些都是**的作用,通過這些運用,**不僅有用還有趣!

C語言部落格作業 資料型別

問題1 剛開始只是用兩個ch,有結果但是結果與答案不一樣 解決方法 在ch1,ch2後面加上printf,發現輸出結果為 1 6 就明白了沒有 大於10的字元 定義變數repeat 輸入幾位數字 count,count1 用於判斷結果 n 判斷結果 i 用於迴圈 ch 輸入repeat for i ...

C語言部落格作業 資料型別

1.本題pta提交列表 2.設計思路 輸出下半部分 for i n 2 i 0 i i 2 return 0 3.截圖 4.本題除錯過程碰到問題及pta提交列表情況說明1.本題pta提交列表 2.設計思路 迴圈結束再輸出一次 printf d d count,num1 結束 int trap int...

C語言部落格作業 資料型別

int 整型變數n,number提取每個位的數字,sum計算和,i,n,j 輸入nfor i 1 to 10000 i加一 sum n 3 1 if sum等於n 輸出i sum 且跳出迴圈,結束程式 否則輸出i sum 並使n sum int 整型變數money,thousand,fifty,tw...