開心生活站

位置:首頁 > 綜合知識 > 

函數代碼怎麼寫的

1. excel統計的批註數據(內容)的函數代碼怎麼寫

統計有多少個單元格嗎?比如統計批註中包含“中國”的單元格個數。用自定義函數。

函數代碼怎麼寫的

第一:ALT+F11,插入-模塊

第二:複製下面的代碼

Public Function fx(ByVal a1 As Range)

Sum = 0

For Each x In a1

If InStr(x.Comment.Text, "中國") > 0 Then Sum = Sum + 1

Next

fx = Sum

End Function

第三:在結果單元格里輸入:比如,=fx(a1:a7)

如果要顯示出哪些單元格都有哪些批註包含了XX字。這個用函數做不到估計,要用程序,原理相同,請自行研究。

===================

如果你的區域包含有沒有批註的單元格,代碼要改一下

Public Function fx(ByVal a1 As Range)

Sum = 0

For Each x In a1

If x.Comment Is Nothing Then

Sum = Sum + 0

Else

If InStr(x.Comment.Text, "中國") > 0 Then Sum = Sum + 1

End If

Next

fx = Sum

End Function

2. 刪除字符的函數代碼怎麼寫啊

int strlen(const char string)

{

int i=0;

while(string[i]) i++;

return i;

}

2. strcpy(), 字符串拷貝.

char *strcpy(char *destination, const char *source)

{

while(*destinaton++=*source++);

return (destination-1);

}

3. strcat(), 字符串的連接.

char *strcat(char *target,const char *source)

{

char *original=target;

while(*target) target++; // Find the end of the string

while(*target++=*source++);

return(original);

}

4. streql(), 判斷兩個字符串是否相等.

int streql(char *str1,char *str2)

{

while((*str1==*str2)&&(*str1))

{

str1++;

str2++;

}

return((*str1==NULL)&&(*str2==NULL));

}

5. strchr(), 在字符串中查找某個字符.

char *strchr(const char *string,int letter)

{

while((*string!=letter)&(*string))

string++;

return (string);

}

6. chrcnt(), 計算某個字符在字符串中出現的次數.

int chrcnt(const char *string,int letter)

{

int count=0;

while(*string)

if(*string==letter)count++;

return count;

}

7. strcmp(), 判斷兩個字符串是否相等.

int strcmp(const char *str1,const char *str2)

{

while((*str1==*str2)&&(*str1))

{

str1++;

str2++;

}

if((*str1==*str2)&&(!*str1)) //Same strings

return o;

else if((*str1)&&(!*str2)) //Same but str1 longer

return -1;

else if((*str2)&&(!*str1)) //Same but str2 longer

else

return((*str1>*str2)?-1:1);

}

3. 函數怎麼寫

R語言實際上是函數的集合,用戶可以使用base,stats等包中的基本函數,也可以自己編寫函數完成一定的功能。

但是初學者往往認爲編寫R函數十分困難,或者難以理解。這裏對如何編寫R函數進行簡要的介紹。

函數是對一些程序語句的封裝。換句話說,編寫函數,可以減少人們對重複代碼書寫,從而讓R腳本程序更爲簡潔,高效。

同時也增加了可讀性。一個函數往往完成一項特定的功能。

例如,求標準差sd,求平均值,求生物多樣性指數等。R數據分析,就是依靠調用各種函數來完成的。

但是編寫函數也不是輕而易舉就能完成的,需要首先經過大量的編程訓練。特別是對R中數據的類型,邏輯判別、下標、循環等內容有一定了解之後,纔好開始編寫函數。

對於初學者來說,最好的方法就是研究現有的R函數。因爲R程序包都是開源的,所有代碼可見。

研究現有的R函數能夠使編程水平迅速提高。 R函數無需首先聲明變量的類型,大部分情況下不需要進行初始化。

一個完整的R函數,需要包括函數名稱,函數聲明,函數參數以及函數體幾部分。 1. 函數名稱,即要編寫的函數名稱,這一名稱就作爲將來調用R函數的依據。

2. 函數聲明,包括 FALSE這樣的邏輯類型變量,這就意味着,if內部,往往是對條件的判別,例如 is.na, is.matrix, is.numeric等等,或者對大小的比較,如,if(x > 0), if(x == 1), if(length(x)== 3)等等。if後面,如果是1行,則花括號可以省略,否則就必須要將所有的語句都放在花括號中。

這和循環是一致的。例子: ## if與條件判斷 fun.test。

4. c/c++的隨機函數的源代碼怎麼寫

static int next=1;

int rand(void)

{

next = next * 1103515245 + 12345;

return (next/65536) % 32768;

}

return一句的功能只是把得數的絕對值控制在0~32767之間,關鍵是next = next * 1103515245 + 12345一句。next變量是靜態的,變化以後的值是不消失的,下一次還可用,所以每執行一次next = next * 1103515245 + 12345就獲得一個新值,這個新值被return取整除、取餘除後控制在0~32767之間就形成了0~32767的隨機數。比如第一次,next=1*1103515245 + 12345=1103527590,經return中的對65536取整、對32768取餘後就是16838;若再來一次,next已經是1103527590了,那麼next = next * 1103515245 + 12345就爲next = 1103527590 * 1103515245 + 12345=1217759518843121895;但這個數已經溢出了,實際上表示成了-1770082073,經return中取整取餘後返回的就是-27009;可以算出來,再下一次是10113……不過,你這個函數並不能產生真正意義上的“隨機”數,因爲作爲基數的1103515245在每次開始時是不變的,所以只能得出同樣的序列,即每次執行都產生16838、-27009、10113……這樣一組無限多的數。所以實際的C隨機函數rand()的形參並不是void而是一個長整型變量,通常來調用實時時間函數獲取實時時間值來得到,因爲時間是每時每刻都在變化的,所以充當"1103515245”角色的數就每調用一次的值都不同。這樣每次執行就都能得到不重複的序列。至於12345,我想隨便取個數都行!僅供參考……

標籤:代碼 函數