面試題三(字串中提取數字)

2021-05-28 00:26:34 字數 809 閱讀 6290

字串提取數字

完成函式

void take_num(const char *strin, int *n, unsigned int *outarray)

如輸入strin="ab00cd+123fght456-25  3.005fgh"

輸出n=6

outarray=

不考慮小數如3.005輸出3和5

題目分析:將字串轉換成uint,按公式temp=0;temp=temp*10;temp+=str[i]-'0';一直迴圈。

對於乙個數,如果前面是0的話,那麼按上面公式也會把0去掉的,也就是會從第乙個非零的數開始計數。比如005,temp=0;temp=temp*10(temp=0);temp+=str[i]-'0'(temp=0);當i=i+1時,

按上面過程計算,仍然有temp=0,直到第乙個非零的數字出現,這也正符合數的形式。

#include #include #include void take_num(const char *strin, int *n, unsigned int *outarray)

else

if (isnum)

}if (isnum) ///一定要對最後乙個進行判斷,否則就會丟失最後乙個數的信心

*n=ncount;

}void main()

; take_num(str,&n,outstr);

printf("%d\n",n);

for (int i=0;i其中返回的個數n和輸出整型數的個數一樣。可巧妙利用

三 字串 一

三 字串 1。直接量三種寫法 1 單引號,不會替換變數,且只支援 兩個轉譯字元 2 雙引號,會進行變數替換,雙引號能支援除了 以外的所有轉譯符 3 heredoc,比如 string end of string haha hehe hoho.hehe end of string 其中end of s...

三 字串操作

windows核心編碼字符集採用unicode字符集,字串處理使用unicode string,是乙個結構體,定義如下 typedef struct unicode string unicode string length 字串長度,maximumlength 字串緩衝區長度,buffer 字串緩衝...

三 字串補充

1 輸出函式中的字串的格式化 之前有簡單地使用了說明了prin函式中字串的拼接。name xiong age 21 男 high 175weight 56 print 我姓 s,性別 s,今年 s歲,身高 scm,體重 skg。name,age,high,weight 為了保證絕對正確。只需要將上面...