本文目錄一覽:
- 1、C語言字元串拆分
- 2、C語言拆分解釋
- 3、如何用C語言拆分整數?
- 4、c語言如何拆分數字
C語言字元串拆分
使用strstr函數嘛(以下代碼測試通過)
功能:在一個字元串中查找特定的字元串,如果查找到會返回查找到字元串的位置,失敗返回NULL
分析:搜索字元串”bizbox_userlang=”,成功後取出’=’後和『=』後第1個’;’之間的所有字元
#include stdio.h
int main(int argc, char* argv[])
{
char buf1[]=”bizbox_username=admin; bizbox_userpass=c1501f6698e058e47d3f81f723c2b9f2; bizstore_note=; bizbox_userlang=zh; csd=33; cod=29.30; business_note=null”;
char *buf2=”bizbox_userlang=”;
char *ptr;
char txt[100];
ptr=strstr(buf1,buf2); //成功返回的位置是”bizbox_userlang=zh; csd=33….”
if( ptr==NULL)
{
printf(“沒有找到該內容\n”);
return -1;
C語言拆分解釋
#includestdio.h
/*包含文件頭,不是C語句*/
int
add(int,int);?/自定義一個結果是整型的函數,名字是add*/
int
main(void)
/*程序執行首語句*/
{int
s
;
/*定義變數s為整型*/
s=add(2,3);
/*調用add函數*/
printf(‘the
sum
is;%d”,s);
/輸出s的值*/
return
0;}
/*歸零*/
int
add
(inta,intb)
{int
sum;
sum=a+b;
return
sum;}/*粗體部分定義add函數方程為sun=a+b,返回sum的值*/
如何用C語言拆分整數?
將一個整數的各個位分離出來的最簡單方法就是模10,取個位數,直到該變為0。
參考代碼:
#include stdio.h
void main()
{
int n=0;
scanf(“%d”, n );
do {
printf(“%d\n”, n%10 ); //每次輸出個位
n/=10 ; //縮小10倍,去除原來的個位。
}while(n);
}
但這整拆分的特點是從後向前輸出每一位數。
如果僅是為了輸出,還想正向輸出每一位數,則可用遞歸函數來解決。(也可以實現逆向輸出)
參考代碼:
#include stdio.h
void split_int( int n )
{
if ( n0 )
{
//printf(“%d\n”, n%10 );//逆向輸出,放開這裡,關閉下面的printf().即:先輸出當前個位,再去高位的數
split_int( n/10 );//先去輸出高位的數
printf(“%d\n”, n%10 ); //再輸出當前的個位數
}
}
void main()
{
int n;
scanf(“%d”, n);
split_int(n);
}
如果想把分離開的數據存儲到數組中,則最簡單的方法是將整數用sprintf()存儲到字元數組中,然後,遍曆數組,逐位取出。
參考代碼:
#include stdio.h
void main()
{
int n,i;
char str[20];
scanf(“%d”, n);
sprintf(str,”%d”, n);
for( i=0;str[i];i++ ) //正向輸出
printf(“%c\n”, str[i] );
for( i–;i=0;i– ) //逆向輸出
printf(“%c\n”, str[i] );
}
c語言如何拆分數字
小弟有這麼一種做法,我覺得這個比較快一點。寫得不是很好,你看下先啦!
#includestdio.h
#includestring.h
#includewindows.h
int main()
{
char a[30];
int i,l;
printf(“請輸入一整型數字:”);
gets(a);
printf(“數字拆分如下:\n”);
l=strlen(a);
for(i=0;il;i++)
printf(“%d “,a[i]-‘0’);//將數字字元轉為數字值
printf(“\n”);
}
你看一下,還可以的話,麻煩你採納我,Thank you。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199129.html