輸入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...