1:
目前我學習中存在的薄弱的知識點具體是結構體、共同體、列舉型別與指標。在近幾次的pta
練習中(大概是練習
8-練習
10)我常常被題目卡住,想到思路但是不知道應該怎麼寫下**。在結構體中具體的例子是定義結構體型別變數。
我一開始無法理解結構體型別與結構體型別變數的定義,導致對結構體成員引用出現錯誤。共用體和列舉型別則是因為很少運用於做題,對這兩者不夠熟悉,遇到需要運用共用體和列舉型別知識的題目就不知道應該怎麼做。例如書本141
頁例8.4
,我仍不能理解。我指標知識由於是新知識,仍然需要花時間去深入了解。在二維陣列與指標上仍要更多精力去鑽研。
2:7-1 陣列元素迴圈右移問題 (20 分)
乙個陣列a中存有n
(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m(
≥0)個位置,即將
a中的資料由(
a0a1⋯an−1
)變換為(
an−m⋯an−1a0a1⋯an−m−1
)(最後
m個數迴圈移至最前面的
m個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?
① 題目大意是要移動乙個陣列裡面的數字,改變他們的位置。
② 題目分兩種情況,其中要考慮n>m/n。
#include
#include
using namespace std;
int main()
int a[100],b,c,i;
cin>>b>>c;
if(b>c)
for(i=0;icin>>a[i];
{if(b==1&&c==0) coutb)
int d;
d=c-b;
for(i=0;icin>>a[i];
coutfor(i=0;icout<④ 其中最重要的一點就是找出數字移動前後下標的關係。
n>m時,如果
i+m(
i為下標)大於或等於
n,則數字移動到下標為
i+m除以
n的餘數的位置上。否則數字移動到下標為
i+m的位置上。
n時,設k為
m除以n的餘數,如果
i+k(
i為下標)大於或等於
n,則數字移動到下標為
i+k除以
n的餘數的位置上。否則數字移動到下標為
i+k的位置上。
⑤ 問題最大的就是找出數字移動前後的下標之間的關係,要先用白紙設一組陣列來找尋他們之間的關係會比較清晰。只要找到了兩者的關係題目就很容易了,但是寫成**需要時間思考一下。
部落格第二次作業
一.命令列萬用字元 1.匹配任意長度的任意字元 2.匹配任意單個字元 3.匹配指定範圍內的任意單個字元 4.匹配指定範圍外的任意單個字元 5.upper 所有的大寫字母 eg 列出 etc下,所有的以n,l開頭的,並且以非數字結尾的檔案 列出 var目錄下,以乙個小寫字母開頭,乙個小寫字母結尾,中間...
第二次部落格作業
目錄2.pta實驗作業 int i char c for i 0 i 10 i stand time 0 初始化隨機數 rand 100 隨機產生0 99的隨機數 1 每次召喚 rand 就得到乙個隨機整數。include include include int main 2 x n的結果是 0,n...
OO第二次部落格作業
從第4次作業開始,就進入了多執行緒程式設計的環節。我個人對於多執行緒的理解就是在乙個程式在執行時有多個執行流,能夠實現多個執行緒併發執行的技術。由於能在同一時間內執行多個執行緒,因而能夠提公升計算機的整體處理效能。第五次作業分析 由於第五次作業是我第一次接觸到多執行緒程式設計,因此這次作業對於我來說...