題目:翻轉字串單詞順序
輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變
解題思路:先反轉字串,再翻轉單詞
c語言**如下:
// 字串翻轉函式 pbegin:字串開始位置 pend:字串結束位置
void
reverse
(char
*pbegin,
char
*pend)
while
(pbegin}//總體函式實現
void
reversesenrence
(char
*pdata)
char
*begin=
*pdata;
char
*end=
*pdata;
while
(*end!=
'\0'
) end--
;reverse
(begin,end)
;//翻轉整個句子
while
(*begin!=
'\0'
)elseif(
*end==
''||
*end==
'\0'
)else
}return pdata;
}
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個這樣的函式實現字串的旋轉操作的功能。
解題思路:把字串分成兩部分,分別對兩部分進行翻轉,然後在對整個字串進行翻轉
//字串翻轉函式
void
reverse
(char
*pbegin,
char
*pend)
while
(pbegin}//左旋轉字串實現
char
*leftrotatestring
(char
*pdata,
int n)
}}
int
strcmp
(const
char
*src,
const
char
*dst)
if(ret<0)
else
if(ret>0)
return
(ret);}
//判斷字串是否相同
intstrcmp
(char
*src,
char
*dst)if(
strlen
(src)
!=strlen
(dst)
)while(!
(ret=
*src-
*dst)
)return ret;
}//忽略大小寫字串比較
#define convert(c) (((c)>='a'&&(c)<='a')?((c)-'a'+'a'):(c))
intstrcmp
(char
*dst,
char
*str)if(
strlen
(dst)
!=strlen
(str)
)while(!
(ret=
convert
(*src)
-convert
(*dst)))
return ret;
}
char
*strcpy
(char
*dst,
const
char
*str)
char
* ret=dst;
while
(*str!=
'\0'
)return ret;
}
每個整數看其轉換進製,從個位到百位都可以通過%操作加上/操作獲得,再用乙個乙個字元陣列儲存0-f,用個位數對應值轉換為字元。 最後還要翻轉。
//整型轉字串。 num :整數 str :存放的字串 radix: 進製數 例如:2 8 10 16
char
*itoa
(int num,
char
*str,
unsigned
int radix)
//判斷正負
if(radix==
10&&num<0)
else
dowhile
(tmp_value)
srt[i]
='\0'
;//翻轉
char tmp;
for(
int j=k;j<=
(i-1)/
2;j++
)return str;
}
int
atoi
(const
char
*src)if(
*src==
'+'||
*src==
'-')
src++;}
elseif(
*src<
'0'||
*src>
'9')
//第一位既不是符號也不是數字,直接返回異常值
while
(*src!=
'\0'
&&*src>=
'0'&&
*src<=
'9')
return s*
(isminus?-1
:1);
}
嵌入式C語言陣列,str函式實現
陣列中所有的資料都是相同的資料型別 int a 10 陣列中的元素的首位址都是連續的 a 0 0x0000 a 1 0x0004 位數跟資料型別有關 c語言不允許使用變數的值進行動態定義,賦初值的方式 在定義時賦值 迴圈賦值 陣列與指標的聯絡 陣列的名字是可以當成指標使用的 a 陣列首元素的位址 陣...
字串處理函式C語言實現(一)
size t lm strlen const char str size t lm strlen2 const char str char lm strcpy char dest,const char src char lm strncpy char dest,const char src,size...
字串處理函式C語言實現(二)
包含以下函式 char lm strchr const char str,char c char lm strstr const char s1,const char s2 char lm strstr2 const char s1,const char s2 char lm strchr cons...