OC程式設計題1

2021-07-02 04:00:21 字數 2978 閱讀 5122

1.

擲骰子題,擲骰子

100次,輸出每個號出現的次數

typedef struct

mydicedate;

void test1()

,,,,,};

for(int i = 0; i < 100; i++)}}

for(int i = 0; i < 6; i++)

}

2.輸出乙個字串中每個字元出現的次數

void test2()

[dictionary enumeratekeysandobjectsusingblock:^(id key,id value,bool *stop)

];}

3.現在有乙個有序的陣列,要求使用者輸入乙個整數放到陣列中還保證這個陣列是有序的。例如原陣列為@[@1,@3,@5,@7,@9];插入8之後為@[@1,@3,@5,@7,@8,@9];

void test3()

#pragma mark 返回要插入數的位置

int arrayorder(nsarray *array,int num)

else

}return start;//返回要插入的位置

}

4.現有如下定義的字串: nsstring *str=@「itheimaandroid」,能對該字串進行修改請輸出刪除android後的新字串

void test4()

5.求出1.2.3.4四個數,隨意組成乙個裡面沒有相同數字的三位數,總共有多少種組合方式

void test5()}}

}nslog(@"總共有%d種組合方式",count);

}

6.求100以內3的倍數

void test6()

}}

7.深複製,淺複製的問題,隨便乙個nsarray,用**建立乙個可變和乙個不可變陣列,他們是深複製還是淺複製

void test7()

8.遍歷nsarray、nsdictionary(知道幾種寫幾種)

void test8()

//快速遍歷

for(nsstring *item in array1)

//利用block輸出

[array1 enumerateobjectsusingblock:^(id obj, nsuinteger idx, bool *stop) ];

//nsdictionary

nsdictionary *dict1 = @;

//直接輸出

nslog(@"dict1 = %@",dict1);

//利用普通for迴圈輸出

nsarray *allkeys = [dict1 allkeys];

for(int i = 0; i < allkeys.count; i++)

//快速遍歷

for(nsstring *item in dict1.allkeys)

//使用block

[dict1 enumeratekeysandobjectsusingblock:^(id key, id obj, bool *stop) ];

}

9.利用分類給nsstring擴充套件3個方法:

<1>字串反轉(比如@"123"呼叫方法後返回@"321");

<2>計算英文本母的個數(比如@"5435abc54abc3ahj5"呼叫方法後返回的是9);

<3>去除字串兩端空格(比如@" 1235 45 "呼叫方法後返回@"1235 45");

@inte***ce nsstring(lpy)

//字串反轉

+ (nsstring *) stringwithreverse:(nsstring *)rstring;

- (nsstring *) initwithreverse;

//計算英文本母的個數

+ (nsuinteger) stringwithcharacterlength:(nsstring *)lstring;

- (nsuinteger) initwithcharacterlength;

//去除字串兩端空格

+ (nsstring *) stringwithtrim:(nsstring *)tstring;

- (nsstring *) initwithtrim;

@end

@implementation nsstring(lpy)

//字串反轉

+ (nsstring *) stringwithreverse:(nsstring *)rstring

return str;

}- (nsstring *) initwithreverse

//計算英文本母個數

+ (nsuinteger) stringwithcharacterlength:(nsstring *)lstring

}return count;

}- (nsuinteger) initwithcharacterlength

//去除字串兩端空格

+ (nsstring *) stringwithtrim:(nsstring *)tstring

//去除右邊空格

while([[nsstring stringwithformat:@"%c",[str characteratindex:str.length - 1]] isequaltostring:@" "])

return str;

}- (nsstring *) initwithtrim

@end

void test9()

STL程式設計題1

問題描述 下面的程式輸出結果是 1 2 6 7 8 9 按從小到大的順序,且沒有重複的 include include 迭代器 include set關聯容器 using namespace std int main 在此處補充你的 關聯容器,不允許有相同元素 setv a,a 7 類模板ostre...

程式設計題練習 1

思路 建立兩個字元陣列,乙個按順序存放數字,乙個按順序存放字母,然拼接這兩個陣列。其實用string類會更好,這裡用vector輸入的時候帶空格,不過思想是一樣的 include include using namespace std class solution for int i 0 ifor ...

oc語法基礎 物件導向程式設計(1)

今天學的是oc語言物件導向程式設計。而以前我所學的c語言呢是面向過程的。這兩種其實就是兩種不同的思想,至於誰重要誰不重要,我認為都挺重要的,就好像有時候人有不同需求一樣,自己需要時就用什麼。面向過程關注的是解決問題需要哪些步驟,物件導向關注的是解決問題需要哪些物件。比如說,我現在要坐車去乙個公園。對...