c語言提取數字
❶ c語言提取字元串中的所有數字
#include<stdio.h>
int
main()
{
char
str[1000];//保存讀取到的字元串
long
sum=0,data[1000];
int
i=0,top=0;
printf("輸入字元串:\n");
scanf("%s",str);
while(str[i]!='\0')//未到字元串末尾
{
if(str[i]>='0'&&str[i]<='9')//如果是數字
sum=sum*10+(str[i]-'0');//連續數字轉換為數.
else
if(sum!=0)//保存這個數
{
data[top++]=sum;
sum=0;
}
i++;
}
if(sum!=0)//判斷最後一個字元是否是數
data[top++]=sum;
printf("字元串中的數字是:\n");
i=0;
while(i<top)
{
printf("%ld",data[i]);
if(i<top-1)//不列印最後一個逗號
printf(",");
i++;
}
printf("\n");
system("pause");
return
0;
}
❷ 用c語言提取字元串中的數字
用c語言提取字元串中的數字的操作如下:
1、首先打開visual studio軟體並創建一個新的c語言文件,如下所示。
❸ C語言中如何將一個數字的各個位上的數分別提取
1、方法一:
我的做法是先將整型轉為字元串,再將轉後的字元串取需要的字元轉為整型,過程說起來復雜,但是寫起來只要兩行代碼就行了~
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s ", number, string); //將整型轉換為字元創
printf("%d",(int)string[0]-48); //將字元串轉為整型
return 0;
}
2、方法二:
int a[100];
int i;
假設x為INPUT的數
a[100]用來存放各個數位(0用來存放一共有幾位,1用來存放個位,,依次)
i=0;
{a[++i]=x % 10;
x/=10;}while (x);
a[0]=i;
❹ C語言怎樣提取一個數的十位個位百位千位
設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10
代碼如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("個位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
運行結果如圖:
(4)c語言提取數字擴展閱讀
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
❺ C語言 將用戶輸入的字元串中的所有數字提取出來
樓主採納我吧
#include
<stdio.h>
void
main()
{
char
str[80],digit[80];
char
*ps;
int
i=0;
gets(str);
ps=str;
while(*ps!='\0')
{
if(*ps>='0'&&*ps<='9')
{
digit[i]=*ps;//若當前字元是數字字元,保存到digit【i】裡面,並且i的下標加1
i++;
}
ps++;//不管是不是,判斷完當前的字元*ps之後,ps++,表示移動到下一個字元判斷
}
digit[i]='\0';//給保存數字字元的字元數組加上個結束符號『\0』,因為printf(%s)是以'\0'表示字元結束的
}