#includestdio.h

站在用戶的角度思考問題,與客戶深入溝通,找到久治網(wǎng)站設(shè)計與久治網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋久治地區(qū)。
#define max 200 //輸入的數(shù)最多兩百個
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",input);
printf("請輸入要取出的位數(shù)!\n");
scanf("%d",front);
len=strlen(input); //輸入數(shù)字的長度
for(i=0;ifront;i++) //用來取出所有的單個數(shù)字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;ifront;i++)
{
printf("%d",a[i]);
}
}
這道題應(yīng)該能運行,不能的話,發(fā)個消息過來,我來調(diào)試下!
C標準庫中提供了一個字符串分割函數(shù)strtok();
實現(xiàn)代碼如下:
#include?stdio.h
#include?string.h
#define?MAXSIZE?1024
int?main(int?argc,?char?*?argv[])
{
char?dates[MAXSIZE]?=?"$GPGGA,045950.00,A,3958.46258,N,11620.55662,E,0.115,,070511,,,A*76?";
char?*delim?=?",";
char?*p;
printf("%s??",strtok(dates,delim));
while(p?=?strtok(NULL,delim))
{
printf("%s??",p);
}
printf("\n");
return?0;
}
運行結(jié)果截圖如下:
#include?stdio.h
#include?stdlib.h
#include?string.h
#define?M?1000
void?getnumber(char?a[],int?b[],int?*clen)
{
char?c[M];
int?i?=?0;
int?k?=?0;
int?num;
int?len?=?0;
int?flag?=?0;
char?*p;
for(i?=?0,p?=?a?;?i=strlen(a)?;p++,i++)
{
if(*p='0'??*p?=?'9')
{
len++;
flag?=?1;?//在數(shù)字字符里面
}
else?if(flag?==?1?)
{
strncpy(c,p-len,len);
c[len]?=?'\0';
num?=?atoi(c);//將字符串轉(zhuǎn)化為數(shù)字
b[k++]?=?num;??//用數(shù)組存放截取下來的數(shù)字
flag?=?0;//?標識0代表進入了非數(shù)字字符
len?=?0;
}
}
*clen?=?k;
}
void?main?(void)
{
char?a[M];
int?b[M];//用來存放從字符串截取下來的數(shù)字
int?i?=?0;
int?k?;
printf("請輸入帶數(shù)字的字符串:");
gets(a);
getnumber(a,b,k);
for(i?=?0;?i??k;?i++)
printf("%d\n",b[i]);//將存好的數(shù)輸出
}
根據(jù)單個分隔字符用split截取
string st="GT123_1";
string[] sArray=st.split("_");
即可得到sArray[0]="GT123",sArray[1]="1";
2.利用多個字符來分隔字符串
tring str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
3根據(jù)字符串或字符串組來截取字符串
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
4提取字符串中的第i個字符開始的長度為j的字符串;
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
strncpy 是 C語言的庫函數(shù)之一,來自 C語言標準庫,定義于 string.h,char *strncpy(char *dest, char *src, int n),把src所指字符串的前n個字節(jié)復(fù)制到dest所指的數(shù)組中,并返回指向dest的指針。
函數(shù)原型char*strncpy(char*dest,char*src,size_tn);
復(fù)制字符串src中的內(nèi)容(字符,數(shù)字、漢字....)到字符串dest中,復(fù)制多少由size_tn的值決定。如果src的前n個字節(jié)不含NULL字
符,則結(jié)果不會以NULL字符結(jié)束。如果src的長度小于n個字節(jié),則以NULL填充dest直到復(fù)制完n個字節(jié)。src和dest所指內(nèi)存區(qū)域不可以重
疊且dest必須有足夠的空間來容納src的字符長度+'\0'。
atoi (表示 alphanumeric to integer)是把字符串轉(zhuǎn)換成整型數(shù)的一個函數(shù),應(yīng)用在計算機程序和辦公軟件中。
功 能: 將字符串轉(zhuǎn)換成整型數(shù);atoi()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串時('\0')才結(jié)束轉(zhuǎn)化,并將結(jié)果返回(返回轉(zhuǎn)換后的整型數(shù))。
用 法: int atoi(const char *nptr);
如果是浮點數(shù)或者其他類型可以使用atof,sscanf函數(shù)來進行字符串到數(shù)值的轉(zhuǎn)換。
例如:atoi(strncpy(dest,src+5,10))//把src字符串從第五位開始數(shù)10個的字符串轉(zhuǎn)換為一個int值。
int x;
123456 取個位:x=123456%10
取白位:x=(123456%100)/10
1234.56 小數(shù)點后面的第一位: x=((int)(1234.56*10))%10
1234.56 小數(shù)點后面的第二位: x=((int)(1234.56*100))%10
分享標題:c語言數(shù)值截取函數(shù),c語言取除數(shù)
文章源于:http://www.chinadenli.net/article42/dsgephc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、小程序開發(fā)、面包屑導航、網(wǎng)站策劃、微信小程序、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)