c語言程式設計 從字串中提取數字,C語言程式設計 從字串中提取數字

2022-02-14 09:20:52 字數 4296 閱讀 8144

1樓:匿名使用者

1、首先開啟visual studio軟體,新建一個c語言檔案,如下圖所示。

2、接著在c語言檔案的頂部匯入庫內容,如下圖所示。

3、接著運用scanf函式接收使用者輸入的字串。

4、然後利用printf函式列印一下使用者輸入的內容。

5、執行程式以後就會彈出如下圖所示的cmd介面,輸入內容就會自動接收到,然後原樣輸出內容。

6、最後如果接收其他的型別,比如整數,那麼型別就需要改變成int,如下圖所示,並且scanf裡面的接收型別變為d%,提取字串中的數字。

2樓:匿名使用者

#include

#include

#include#define n 100int change(char string);

int count_num(char *p,int *pt);void main()

else ;}

} while(*p++);

return num;

}int change(char string)return number;}

c語言 將使用者輸入的字串中的所有數字提取出來

3樓:

#include

#include

#include

intmain()

if(m==0)

printf("字串中沒有數字\n");

p=(int*)calloc(m,sizeof(int));//動態陣列

for(i=0;i<10;i++)

}//組成新的整數

for(t=0;t

printf("新組成整數:%d\n",z);

free(p);

}kuo

擴充套件資料c語言實現將字串的數字提取為整數

#include

intstringtointeger(char*p)p++;

}returnvalue;

}intmain(void)

4樓:風翼殘念

#include

void main()

ps++;//不管是不是,判斷完當前的字元*ps之後,ps++,表示移動到下一個字元判斷。

}digit[i]='\0';//給儲存數字字元的字元陣列加上個結束符號『\0』,因為printf(%s)是以'\0'表示字元結束的。

}提取字串中數字,輸出整型數:

while寫法:

a='abc12d345'

i=0;

b=0;

while iif '0'<=a[i]<='9':

b=b*10+int(a[i])

i+=1;

print(b)

for寫法:

a="abc12d345"

b=0;

for i in a:

if '0'<=i<='9':

b=b*10+ord(i)-48

print(b)

擴充套件資料:提取字串的數字:

將使用者輸入的字串中的所有數字提取出來核心思想是每找到一個連續的數字子串,就分別用兩個指標begin和end來標記它,並且每當處理完一個數字子串,就將新的起點設在上一次數字子串結尾的後一個的字元上,直到起始位置的字元為空,則遍歷結束。

#include

void main (void)

;int b[10];

int i,j;

j=0;

for(i=0;a[i]!='\0';i++)}for(i=0;i}

5樓:匿名使用者

樓主採納我吧

#include

void main()

ps++;//不管是不是,判斷完當前的字元*ps之後,ps++,表示移動到下一個字元判斷

}digit[i]='\0';//給儲存數字字元的字元陣列加上個結束符號『\0』,因為printf(%s)是以'\0'表示字元結束的}

6樓:

digit[i]=*ps;

ps++;

digit[i] = '\0';

7樓:匿名使用者

#include "stdio.h"

#include "malloc.h"

main()}}

為什麼不用一邊判斷一邊輸出的方法呢?這樣更簡單吧

8樓:

#include

#include

main()

char s[80]

long n=0;

int m, i=0:

char *p=s

printf("請輸入一串字元:"):

gets(s)

while(*p!= \0」)

if(*p>=' 0' &&*p<=』9')m=*p-』0';

n=n*10+m;

p++:

printf("提取的數字為:%ld\n,n);}

c語言題目:提取一個字串中的所有數字字元(『0』...『9』)將其轉換為一個整數輸出。

9樓:自我程式設計

#include

#include

int main()

}return 0;}

如何用c/c++把一個字串把裡邊的數字提取出來

10樓:四舍**入

給定一個數字

字串,把這個串裡邊的連續數字提取出來放到另外一個整型陣列中一個單元中:

#include

#include

using namespace std;

void tiqu(char*a,int*b)

else}}

void main()

}擴充套件資料:

1、字元庫函式

所在函式庫為【ctype.h】

int isalpha(int ch) 若ch是字母('a'-'z','a'-'z')返回非0值,否則返回0

int isalnum(int ch) 若ch是字母('a'-'z','a'-'z')或數字('0'-'9')

返回非0值,否則返回0

int isascii(int ch) 若ch是字元(ascii碼中的0-127)返回非0值,否則返回0

int iscntrl(int ch) 若ch是作廢字元(0x7f)或普通控制字元(0x00-0x1f)

返回非0值,否則返回0

2、數學函式

所在函式庫為math.h、stdio.h、string.h、float.h

int abs(int i) 返回整型引數i的絕對值

double cabs(struct complex znum) 返回複數znum的絕對值

double fabs(double x) 返回雙精度引數x的絕對值

long labs(long n) 返回長整型引數n的絕對值

11樓:匿名使用者

#include

int main()

else if((a[i]>='a'&&a[i]<='z')||(a[i]>='a'&&a[i]<='z')) //如果是字母.

}b[cnt_index++]='\0'; //增加字串結束符.

cout<

12樓:匿名使用者

一. 先用 strstr 找到那行 ;

二. 然後 提取出來 用sscanf進行解析 ;

三. 後面的數字不知道的也可以提取出來 ;

四. 可以用 %d 代替,也可以用 string 和 fstream類 還有 getline、

13樓:匿名使用者

#include

#include

using namespace std;

void tiqu(char*a,int*b)else}}

void main()}

14樓:

||#include

void sort(int *a,int n);

int main()

for(j=0; j排序

sort(a,i);

//輸出

for(j=0; j a[j])

}if(k != i)}}

僅供參考……

C 提取字串中的數字怎麼提取

string str 我的 是1525623你的 是adsds52562168 listlist string phones new string 2 int index 0 計數判斷是否為下一個 的條件。int p 0 判斷是否為數字。for int i 0 i i 對你有用的話請給個滿意吧 謝謝...

C語言字串問題,C語言中,字串是什麼?

這迴圈需要執行4次,對應的字元就是0001,也就是說這個sc需要5個空間,加一個 0 for i 0 i 2.你這個程式每次執行的結果可能是不確定的,因為你沒有初始化sc陣列,printf以字串的形式輸出,他是遇到 0 字元才結束的,所以為了保證程式的結果是一致的,建議初始化陣列。sc 5 這樣就可...

C語言 輸入字串,程式設計統計其中的字母 數字 空格 含製表符 標點符號的個數並輸出

include include int main int argc,char argv printf 該字串的字母個數 d個,數字個數 d個,空格個數 d個,標點個數 d個 n alpha,digit,space,spunct return 0 include include int main in...