C语言问题:如何从一个由字母和数字组成的字符串中提取出相应的字母? c语言问题,如何将字符串中的数字提取
C\u8bed\u8a00\u5199number()\u51fd\u6570\uff0c\u5728\u4e00\u4e2a\u6709\u5b57\u6bcd\u6570\u5b57\u7ec4\u6210\u7684\u5b57\u7b26\u4e32\u4e2d\u63d0\u53d6\u51fa\u6570\u5b57\u5e76\u5c06\u5176\u8f6c\u6362\u6210\u6574\u6570\u3002\u4f8b\u201c1c3b"\u8f6c\u6210\u6574\u657013long number(char s[])
{
char str[15], a[15];
int i, k=0;
long a;// a \u4e00\u5b9a\u8981\u5b9a\u4e49\u4e3along int ,\u56e0\u4e3a\u6574\u4e2a\u51fd\u6570\u7684\u8fd4\u56de\u503c\u662flong\u578b\u3002
for(i=0; str[i]!='\0'; i++)
{
if((str[i]='0'))
a[k++] = str[i];
}
for(i=0,a=0; i<k-1; i++)
a = a*10 + (a[i] - '0');//\u8fd9\u91cc\u6545\u610f\u6253\u62ec\u53f7\uff0c\u4e3a\u4e86\u597d\u7406\u89e3\u3002
//\u6216\u8005\u4e0a\u4e00\u4e2afor LOOP\u7528 sscanf\u51fd\u6570\u3002\u5982\u4e0b\uff1a
sscanf(a, "%l", a);
return a;
}
1\u3001\u9996\u5148\u6253\u5f00visual studio\u8f6f\u4ef6\uff0c\u65b0\u5efa\u4e00\u4e2aC\u8bed\u8a00\u6587\u4ef6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
2\u3001\u63a5\u7740\u5728C\u8bed\u8a00\u6587\u4ef6\u7684\u9876\u90e8\u5bfc\u5165\u5e93\u5185\u5bb9\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
3\u3001\u63a5\u7740\u8fd0\u7528scanf\u51fd\u6570\u63a5\u6536\u7528\u6237\u8f93\u5165\u7684\u5b57\u7b26\u4e32\u3002
4\u3001\u7136\u540e\u5229\u7528printf\u51fd\u6570\u6253\u5370\u4e00\u4e0b\u7528\u6237\u8f93\u5165\u7684\u5185\u5bb9\u3002
5\u3001\u8fd0\u884c\u7a0b\u5e8f\u4ee5\u540e\u5c31\u4f1a\u5f39\u51fa\u5982\u4e0b\u56fe\u6240\u793a\u7684CMD\u754c\u9762\uff0c\u8f93\u5165\u5185\u5bb9\u5c31\u4f1a\u81ea\u52a8\u63a5\u6536\u5230\uff0c\u7136\u540e\u539f\u6837\u8f93\u51fa\u5185\u5bb9\u3002
6\u3001\u6700\u540e\u5982\u679c\u63a5\u6536\u5176\u4ed6\u7684\u7c7b\u578b\uff0c\u6bd4\u5982\u6574\u6570\uff0c\u90a3\u4e48\u7c7b\u578b\u5c31\u9700\u8981\u6539\u53d8\u6210int\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5e76\u4e14scanf\u91cc\u9762\u7684\u63a5\u6536\u7c7b\u578b\u53d8\u4e3ad%\uff0c\u63d0\u53d6\u5b57\u7b26\u4e32\u4e2d\u7684\u6570\u5b57\u3002
#include <stdio.h>
int main(int argc, char const *argv[])
{
char line[1024] = "\0"; // <--- 最大1023个字符,可按需要修改
int i;
gets(line); // <--- 读入一行字符串,存入数组line中
for (i = 0; i < sizeof(line); ++i) { // <-- 按字符逐个判断
// a~z, A-Z, 才输出
if ( (line[i] >= 'a' and line[i] <= 'z') ||
(line[i] >= 'A' and line[i] <= 'Z') )
printf("%c",line[i]);
}
printf("
");
return 0;
}
运行:
Cat808her_+in_+e87
Catherine
绛旓細include <stdio.h>int main(int argc, char const *argv[]){ char line[1024] = "\0"; // <--- 鏈澶1023涓瓧绗︼紝鍙寜闇瑕佷慨鏀 int i; gets(line); // <--- 璇诲叆涓琛屽瓧绗︿覆锛屽瓨鍏ユ暟缁刲ine涓 for (i = 0; i < sizeof(line); ++i) { // <-- 鎸夊瓧绗﹂愪釜鍒ゆ柇 ...
绛旓細include<stdio.h>int main(void){ char c='N',s[300],*p; gets(s); for(p=s; *p; p++) { while(*p>='a'&&*p<='z') { putchar(*p++); c='Y'; }; if(c=='Y') { putchar('\n'); c='N'; } } return 0;} ...
绛旓細}int main() { char s[] = "kjferu21398dyfkaqpoia"; qsort(s, strlen(s), 1, cmp); printf("%s", s); return 0;}
绛旓細printf("\n");for(char* p = buf; *p; p++)printf("%c", toLower(*p));printf("\n");return 0;} 杈撳叆锛歊ight?杈撳嚭锛歊IGHT?right?闄勫姞璇存槑锛氳绋嬪簭鍙湪 C++ 缂栬瘧鍣ㄤ笅缂栬瘧閫氳繃锛岀敤 C 缂栬瘧鍣ㄧ紪璇戜笉鐭ヨ兘鍚﹂氳繃銆傜敱浜庝唬鐮佸湪鍙戦佹椂琚幓闄や簡绌烘牸锛屾墍浠ヤ唬鐮佹樉寰楀緢鍑屼贡銆備絾鏄疞Z杩樻槸鍙互鍦 Visual...
绛旓細include <string.h> int main(){ char a[1000];scanf("%s", &a);const int len = strlen(a);printf("input string's len is %d\n", len);char* b = new char[len+1];b[0] = '\0';char* tmp = new char[len+1];int maxlen = 0;int k = 0;for (int i = 0; i ...
绛旓細include"math.h"void main(){ char ch;printf("input a small letter:");do scanf("%d,&ch);while(!(ch>'a' && ch<'z')) ; /*纭繚杈撳叆鐨勬槸灏忓啓瀛楁瘝*/ printf("%c %d %c %d",ch,ch,ch-32,ch-32); /*鎸夎姹傝緭鍑*/ } ...
绛旓細0;void pailie(char *s, int M, int k){int i;if (j != M){for (i = 0; i < strlen(s); i++){if (v[i] == 0){v[i] = 1;a[j] = s[i];j++;pailie(s, M, i);}}}else{a[j] = '\0';for (i = 0; i < count; i++){if (strcmp(t[i], a)...
绛旓細num=rand()%M+1; //闅忔満鐢熸垚绾瀛楁瘝缁勫悎鐨勫瓧姣嶄釜鏁 for(i=0;i<num;i++){ biglittle=rand()%2;//闅忔満鐢熸垚瀛楁瘝鐨勫ぇ灏忓啓瑕佹眰 if(biglittle==0) //灏忓啓瀛楁瘝 ch=rand()%26+'a';else ch=rand()%26+'A'; //澶у啓瀛楁瘝 printf("%c",ch);} printf("\n");} void main(){ int i...
绛旓細char str[99]="";int i,n=0,times[26]={0};gets(str);for(i=0;str[i];i++){ times[str[i]-'A']++;}for(i=0;i<26;i++) if(times[i])n++; printf("%d涓笉鍚瀛楁瘝\n",n);
绛旓細鎸変互涓嬫楠ゅ畬鎴愶細瀹氫箟涓や釜瀛楃涓诧紙A$,B$锛夊皢鏂囨湰妗1鐨勫瓧绗﹁鍏 鎸夊瓧鑺傞愪釜璇诲嚭A$鐨勬墍鏈夊瓧绗︼紝鍒ゆ柇浠嬩簬16杩涘埗30H-39H鐨勬暟瀛楀瓧绗︿繚瀛樺埌B$涔嬩腑锛屽叾瀹冨瓧绗﹁垗寮 鍏ㄩ儴瀹屾垚涔嬪悗锛屽皢B$鍐欏叆鍒扮浜屼釜鏂囨湰妗嗕箣涓