c语言写一个函数,该函数从主程序接受一个字符串,将字符串中数字和其他字符分?
独立程序完整代码:#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void seprate(const char *str,char *number,char *charactor)
{
while(*str)
{
if ((*str>='0')&&(*str<='9')) *number++=*str++;
else *charactor++=*str++;
}
*number=0;
*charactor=0;
}
int main(int argc,char *argv)
{
//字符串=脸滚键盘
char *str="34vt0789-345tb087-234678902345g7j890234f58k90-34ft8k9034g2j890";
char *n=(char*)malloc(strlen(str));
char *c=(char*)malloc(strlen(str));
seprate(str,n,c);
printf("%s,%s\n",n,c);
return 0;
}
主要功能参考seprate函数
可以直接用数字判断:if(isdigit(字符));
顺便说一句,可以把一个只含有数字的字符串转换成数字的方法:
stringsteam 变量1;
变量1<<字符串变量;
变量1>>数字变量;
当我们需要将字符串中的数字和其他字符分开时,可以写一个函数来实现这个功能。下面是一个简单的示例代码,展示如何在C语言中实现这个功能:
```c
#include <stdio.h>
#include <ctype.h> // 包含isdigit函数的头文件
void separateDigitsAndChars(const char *str) {
printf("Digits: ");
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
printf("%c ", str[i]);
}
}
printf("
Chars: ");
for (int i = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
printf("%c ", str[i]);
}
}
printf("
");
}
int main() {
char inputStr[100];
printf("Enter a string: ");
scanf("%s", inputStr); // 从用户输入读取字符串
separateDigitsAndChars(inputStr); // 调用函数分离数字和字符
return 0;
}
```
在这个示例中,`separateDigitsAndChars`函数接受一个字符串作为参数,然后通过遍历字符串的每个字符,将数字和其他字符分开输出。主程序从用户输入读取字符串,然后调用`separateDigitsAndChars`函数来实现分离操作。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的处理逻辑,例如处理带有符号和小数点的数字等。
绛旓細(1) 娣峰悎缂栫▼鐨勬柟娉曚竴鑸寚灏咰/C++璇█涓庢眹缂栬瑷缁撳悎浣跨敤锛屼互鍏呭垎鍒╃敤姹囩紪璇█鐨勬ц兘浼樺娍鏉ユ彁楂樼▼搴忔晥鐜囥備絾鏄浜庤繖閬撻鐩潵璇达紝瀹屽叏鍙互浣跨敤C璇█鏉ュ疄鐜般備笅闈㈡槸涓绉嶅疄鐜版柟寮忥細(2) 涓荤▼鐨勭紪鍐欑浉瀵圭畝鍗曪紝鍙渶瑕佸湪main鍑芥暟涓坊鍔犱笂杩颁唬鐮佸嵆鍙傞渶瑕佹敞鎰忕殑鏄紝璁$畻闃朵箻鏃堕渶瑕佸畾涔涓涓鍙橀噺fact锛屽垵濮嬪寲涓1锛...
绛旓細while(s[len++]);for(i = 0;s[len - 1 + i] = t[i];i++);} int main(void) { char s[80],t[80];gets(s);gets(t);strcat(s,t);printf("%s\n",s);return 0;}
绛旓細锛1锛夊彉閲忋佺粨鏋勪綋銆佹暟缁 锛2锛鍑芥暟锛堣鐭ラ亾C璇█閮鏈変竴涓涓诲嚱鏁癿ain锛屼换浣曠▼搴忛兘鏄粠涓诲嚱鏁板紑濮嬫墽琛岋級锛3锛夎鍙ワ紙鏈璧风爜瑕佹噦鍒嗘敮璇彞鍜屽惊鐜鍙ワ紝杩欐牱鎵嶈兘鎺у埗绋嬪簭鐨勬祦绋嬶級鑷充簬鎸囬拡鍙互鎱㈡參鏉ワ紝鎸囬拡鏄疌璇█鐨勫埄鍣紝涔熸槸鍒濆鑰呯殑闅剧偣锛屽湪涓嶄娇鐢ㄦ寚閽堢殑鎯呭喌涓嬩篃鍙互鍐欏嚭涓浜涚▼搴忥紝浣嗗鏋滆鏇磋繘涓姝ュ氨闇瑕佸姫...
绛旓細void PreOrderTraverse(BiTree T,void(*Visit)(int)){ // 鍒濆鏉′欢锛氫簩鍙夋爲T瀛樺湪锛孷isit鏄缁撶偣鎿嶄綔鐨勫簲鐢鍑芥暟銆備慨鏀圭畻娉6.1 // 鎿嶄綔缁撴灉锛氬厛搴忛掑綊閬嶅巻T锛屽姣忎釜缁撶偣璋冪敤鍑芥暟Visit涓娆′笖浠呬竴娆 if(T) // T涓嶇┖ { Visit(T->data); // 鍏堣闂牴缁撶偣 PreOrderTraverse(T->lchild,Visit); ...
绛旓細{ // 姹傚悗缁鍑芥暟 return ++i; } void Collect(SLCell r[],ArrType f,ArrType e) { // 鏈畻娉曟寜keys[i]鑷皬鑷冲ぇ鍦板皢f[0..RADIX-1]鎵鎸囧悇瀛愯〃渚濇閾炬帴鎴 // 涓涓閾捐〃,e[0..RADIX-1]涓哄悇瀛愯〃鐨勫熬鎸囬拡銆傜畻娉10.16 int j,t; for(j=0;!f[j];j=succ(j)); // 鎵剧涓涓潪绌哄瓙琛,succ...
绛旓細鏈寮濮嬪涔犵殑鏃跺欙紝鍏堜笉瑕佺紪涓浜涙瘮杈冨ぇ鐨勭▼搴忥紝澶氱紪涓浜涘皬绋嬪簭锛屾瘮濡傛暟缁勮繍绠楋紝瀛楃缁勫悎绛夌瓑锛屾寚閽堟槸C璇█鐨勭簿鍗庯紝鏄瘮杈冨鏉傜殑閮ㄥ垎銆傚鏋滄湁涓澶╀綘鑳界啛缁冮┚椹寚閽堢殑鎿嶄綔浜嗭紝鎴戠浉淇′綘锛屼綘涓瀹氳兘瀛︿範濂紺璇█鐨勩傛垜鏄2001骞存帴瑙︾紪绋嬬殑锛屽垰寮濮嬪彧鏄ぇ姒備簡瑙d竴涓嬶紝骞舵病鏈夎繘琛屾瘮杈冩繁鍏ョ殑瀛︿範锛屾垜鏄粠VB寮濮嬪叆闂...
绛旓細鍥炵瓟锛氱儹鐖C璇█,鏈変竴浠界儹鐖卞湪灏遍潪甯稿ソ浜,鐑埍瀹,灏卞濂藉畠,涓嶈鏈夎帿鍚嶅叾濡欑殑浼樿秺鎰,涓嶅睉浜庡幓瀛︿範涓浜涙柊鐨勪笢瑗,鎺ヤ笅鏉,鎴戝皢鎶婃垜璧拌繃鐨勫潙鍛婅瘔棰樹富,甯屾湜瀵逛綘鏈夋墍甯姪銆 鍦ㄥ鏍$殑鏃跺欎笉灞戜簬瀛︿範java c# php ,瑙夊緱娌℃湁鎶鏈惈閲,鑷互涓哄濂絚 绠楁硶 linux 灏卞彲浠ラ氬悆鎵鏈夊矖浣,绫讳技绠楁硶瀵艰 鎿嶄綔绯荤粺鍘熺悊 T...
绛旓細include<math.h> // 鏁板鍑芥暟澶存枃浠讹紝鍖呮嫭floor()锛宑eil()锛宎bs()绛 define ClearBiTree DestroyBiTree // 娓呯┖浜屽弶鏍戝拰閿姣佷簩鍙夋爲鐨勬搷浣滀竴鏍 typedef struct BiTNode { int data; // 缁撶偣鐨勫 BiTNode *lchild,*rchild; // 宸﹀彸瀛╁瓙鎸囬拡 }BiTNode,*BiTree;int Nil=0; // 璁炬暣鍨嬩互0涓虹┖ ...